Scans
Create and manage body scans for users.
Each scan generates body measurements, body composition metrics, various 3D and image assets, and can further generate Future Me predictions. Scans are always linked to a specific user and can be created, queried, and deleted independently of other scans.
Common configurations:
Default Native Pipeline: assetConfigId == "25f6d3a6-a634-40c3-8452-0342bee242d0"
Default Web Pipeline: assetConfigId == "ee651a9e-6de1-4621-a5c9-5d31ca874718"
Legacy Native Pipeline: assetConfigId == "c979ab6b-e46b-4c1c-89e1-bb02435b5cbf"
All Scans endpoints require the following headers:
accept: application/json;v=1
authorization: Bearer {{API_KEY}}
content-type: application/jsonReplace {{API_KEY}} with your Prism API key for the selected environment.
This operation returns a paginated list of scans available for a specific user identified by the partner-provided token.
The limit query parameter is required and must be between 1 and 50 (inclusive). Use the optional cursor and order query parameters to page through the results.
Optionally, you can use the unit-system query parameter to receive values in metric or imperial units.
The unit system in which values will be returned.
Sorting order used for pagination. Determines how the cursor is applied (for example, ascending or descending by creation time).
Cursor pointing to the position in the scan list from which the next page should start. Usually taken from the previous response.
Maximum number of scans to return in a single page. Must be between 1 and 50 (inclusive).
20GET /scans?limit=20 HTTP/1.1
Host: api.hosted.prismlabs.tech
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"results": [
{
"id": "unique-scan-id",
"status": "PROCESSING",
"prismScanId": "prism-unique-scan-id",
"deviceConfigName": "IPHONE_SCANNER",
"assetConfigId": "25f6d3a6-a634-40c3-8452-0342bee242d0",
"weight": {
"value": 80,
"unit": "kg"
},
"height": {
"value": 1.8,
"unit": "m"
},
"userId": "unique-user-id",
"userToken": "unique-user-token",
"createdAt": "text",
"updatedAt": "text",
"scanAssets": {
"id": "unique-scan-asset-id",
"scanId": "unique-scan-id",
"captureData": "succeeded",
"captureDataUpdatedAt": "text",
"body": "started",
"bodyUpdatedAt": "text",
"fittedBody": null,
"fittedBodyUpdatedAt": "text",
"measurement": null,
"measurementUpdatedAt": "text",
"createdAt": "text",
"updatedAt": "text"
},
"measurements": {
"neckFit": 1,
"shoulderFit": 1,
"upperChestFit": 1,
"chestFit": 1,
"lowerChestFit": 1,
"waistFit": 1,
"waistNavyFit": 1,
"stomachFit": 1,
"hipsFit": 1,
"upperThighLeftFit": 1,
"upperThighRightFit": 1,
"thighLeftFit": 1,
"thighRightFit": 1,
"lowerThighLeftFit": 1,
"lowerThighRightFit": 1,
"calfLeftFit": 1,
"calfRightFit": 1,
"ankleLeftFit": 1,
"ankleRightFit": 1,
"midArmRightFit": 1,
"midArmLeftFit": 1,
"lowerArmRightFit": 1,
"lowerArmLeftFit": 1,
"waistToHipRatio": 1,
"forearmLeftFit": 1,
"forearmRightFit": 1,
"wristLeftFit": 1,
"wristRightFit": 1,
"bmiPredicted": 1,
"bmiConfidence": 1,
"bodyRoundnessIndex": 1,
"fullBodyVolume": 1
},
"bodyfat": {
"bodyfatMethod": "coco",
"bodyfatPercentage": 20,
"leanMassPercentage": 80,
"fatMass": 16,
"leanMass": 64,
"vatPercentage": 1.5,
"vatMass": 1.2,
"appendicularLeanMassPercentage": 20,
"appendicularLeanMass": 16,
"skeletalMuscleMassPercentage": 20,
"skeletalMuscleMass": 16
}
}
],
"pageInfo": {
"cursor": "dW5pcXVlLXNjYW4taWQ="
}
}This operation registers a new scan in the Hosted API for an existing user.
To associate the scan with the correct user, provide the same token in the request body that you used when registering the user via the /users endpoint.
The partner-provided unique user token associated with this scan.
unique-user-tokenThe device configuration used to capture this scan.
IPHONE_SCANNERPossible values: The asset configuration applied to this scan.
Use this ID to control which assets (models, images, etc.) are generated for the scan.
Common configurations:
- Default Native Pipeline: assetConfigId == "25f6d3a6-a634-40c3-8452-0342bee242d0"
- Default Web Pipeline: assetConfigId == "ee651a9e-6de1-4621-a5c9-5d31ca874718"
- Legacy Native Pipeline: assetConfigId == "c979ab6b-e46b-4c1c-89e1-bb02435b5cbf"
25f6d3a6-a634-40c3-8452-0342bee242d0The body fat method applied to this scan.
cocoPossible values: The unique ID of the scan within the Hosted API.
unique-scan-idThe current processing status of the scan.
PROCESSINGPossible values: The unique ID of the scan in Prism’s internal systems. Used mainly for debugging and support.
prism-unique-scan-idThe device configuration used to capture this scan.
IPHONE_SCANNERPossible values: The asset configuration applied to this scan.
Use this ID to control which assets (models, images, etc.) are generated for the scan.
Common configurations:
- Default Native Pipeline: assetConfigId == "25f6d3a6-a634-40c3-8452-0342bee242d0"
- Default Web Pipeline: assetConfigId == "ee651a9e-6de1-4621-a5c9-5d31ca874718"
- Legacy Native Pipeline: assetConfigId == "c979ab6b-e46b-4c1c-89e1-bb02435b5cbf"
25f6d3a6-a634-40c3-8452-0342bee242d0The unique ID of the user in the Prism Hosted API.
unique-user-idThe partner-provided unique user token associated with this scan.
unique-user-tokenThe date and time when the scan was created.
The date and time when the scan was last updated.
POST /scans HTTP/1.1
Host: api.hosted.prismlabs.tech
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 147
{
"userToken": "unique-user-token",
"deviceConfigName": "IPHONE_SCANNER",
"assetConfigId": "25f6d3a6-a634-40c3-8452-0342bee242d0",
"bodyfatMethod": "coco"
}{
"id": "unique-scan-id",
"status": "PROCESSING",
"prismScanId": "prism-unique-scan-id",
"deviceConfigName": "IPHONE_SCANNER",
"assetConfigId": "25f6d3a6-a634-40c3-8452-0342bee242d0",
"weight": {
"value": 80,
"unit": "kg"
},
"height": {
"value": 1.8,
"unit": "m"
},
"userId": "unique-user-id",
"userToken": "unique-user-token",
"createdAt": "text",
"updatedAt": "text",
"scanAssets": {
"id": "unique-scan-asset-id",
"scanId": "unique-scan-id",
"captureData": "succeeded",
"captureDataUpdatedAt": "text",
"body": "started",
"bodyUpdatedAt": "text",
"fittedBody": null,
"fittedBodyUpdatedAt": "text",
"measurement": null,
"measurementUpdatedAt": "text",
"createdAt": "text",
"updatedAt": "text"
},
"measurements": {
"neckFit": 1,
"shoulderFit": 1,
"upperChestFit": 1,
"chestFit": 1,
"lowerChestFit": 1,
"waistFit": 1,
"waistNavyFit": 1,
"stomachFit": 1,
"hipsFit": 1,
"upperThighLeftFit": 1,
"upperThighRightFit": 1,
"thighLeftFit": 1,
"thighRightFit": 1,
"lowerThighLeftFit": 1,
"lowerThighRightFit": 1,
"calfLeftFit": 1,
"calfRightFit": 1,
"ankleLeftFit": 1,
"ankleRightFit": 1,
"midArmRightFit": 1,
"midArmLeftFit": 1,
"lowerArmRightFit": 1,
"lowerArmLeftFit": 1,
"waistToHipRatio": 1,
"forearmLeftFit": 1,
"forearmRightFit": 1,
"wristLeftFit": 1,
"wristRightFit": 1,
"bmiPredicted": 1,
"bmiConfidence": 1,
"bodyRoundnessIndex": 1,
"fullBodyVolume": 1
},
"bodyfat": {
"bodyfatMethod": "coco",
"bodyfatPercentage": 20,
"leanMassPercentage": 80,
"fatMass": 16,
"leanMass": 64,
"vatPercentage": 1.5,
"vatMass": 1.2,
"appendicularLeanMassPercentage": 20,
"appendicularLeanMass": 16,
"skeletalMuscleMassPercentage": 20,
"skeletalMuscleMass": 16
}
}This operation provides the current status and details of a specific scan.
Use this endpoint to poll the processing status after registering a scan or to retrieve its latest state for display in your application.
The unique ID of the scan.
unique-scan-idThe unit system in which values will be returned.
The unique ID of the scan within the Hosted API.
unique-scan-idThe current processing status of the scan.
PROCESSINGPossible values: The unique ID of the scan in Prism’s internal systems. Used mainly for debugging and support.
prism-unique-scan-idThe device configuration used to capture this scan.
IPHONE_SCANNERPossible values: The asset configuration applied to this scan.
Use this ID to control which assets (models, images, etc.) are generated for the scan.
Common configurations:
- Default Native Pipeline: assetConfigId == "25f6d3a6-a634-40c3-8452-0342bee242d0"
- Default Web Pipeline: assetConfigId == "ee651a9e-6de1-4621-a5c9-5d31ca874718"
- Legacy Native Pipeline: assetConfigId == "c979ab6b-e46b-4c1c-89e1-bb02435b5cbf"
25f6d3a6-a634-40c3-8452-0342bee242d0The unique ID of the user in the Prism Hosted API.
unique-user-idThe partner-provided unique user token associated with this scan.
unique-user-tokenThe date and time when the scan was created.
The date and time when the scan was last updated.
GET /scans/{scanId} HTTP/1.1
Host: api.hosted.prismlabs.tech
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "unique-scan-id",
"status": "PROCESSING",
"prismScanId": "prism-unique-scan-id",
"deviceConfigName": "IPHONE_SCANNER",
"assetConfigId": "25f6d3a6-a634-40c3-8452-0342bee242d0",
"weight": {
"value": 80,
"unit": "kg"
},
"height": {
"value": 1.8,
"unit": "m"
},
"userId": "unique-user-id",
"userToken": "unique-user-token",
"createdAt": "text",
"updatedAt": "text",
"scanAssets": {
"id": "unique-scan-asset-id",
"scanId": "unique-scan-id",
"captureData": "succeeded",
"captureDataUpdatedAt": "text",
"body": "started",
"bodyUpdatedAt": "text",
"fittedBody": null,
"fittedBodyUpdatedAt": "text",
"measurement": null,
"measurementUpdatedAt": "text",
"createdAt": "text",
"updatedAt": "text"
},
"measurements": {
"neckFit": 1,
"shoulderFit": 1,
"upperChestFit": 1,
"chestFit": 1,
"lowerChestFit": 1,
"waistFit": 1,
"waistNavyFit": 1,
"stomachFit": 1,
"hipsFit": 1,
"upperThighLeftFit": 1,
"upperThighRightFit": 1,
"thighLeftFit": 1,
"thighRightFit": 1,
"lowerThighLeftFit": 1,
"lowerThighRightFit": 1,
"calfLeftFit": 1,
"calfRightFit": 1,
"ankleLeftFit": 1,
"ankleRightFit": 1,
"midArmRightFit": 1,
"midArmLeftFit": 1,
"lowerArmRightFit": 1,
"lowerArmLeftFit": 1,
"waistToHipRatio": 1,
"forearmLeftFit": 1,
"forearmRightFit": 1,
"wristLeftFit": 1,
"wristRightFit": 1,
"bmiPredicted": 1,
"bmiConfidence": 1,
"bodyRoundnessIndex": 1,
"fullBodyVolume": 1
},
"bodyfat": {
"bodyfatMethod": "coco",
"bodyfatPercentage": 20,
"leanMassPercentage": 80,
"fatMass": 16,
"leanMass": 64,
"vatPercentage": 1.5,
"vatMass": 1.2,
"appendicularLeanMassPercentage": 20,
"appendicularLeanMass": 16,
"skeletalMuscleMassPercentage": 20,
"skeletalMuscleMass": 16
}
}This operation deletes a specific scan.
After deletion, the scan and its associated data are no longer available for retrieval or reporting.
The unique ID of the scan.
unique-scan-idThe unique ID of the scan within the Hosted API.
unique-scan-idThe current processing status of the scan.
PROCESSINGPossible values: The unique ID of the scan in Prism’s internal systems. Used mainly for debugging and support.
prism-unique-scan-idThe device configuration used to capture this scan.
IPHONE_SCANNERPossible values: The asset configuration applied to this scan.
Use this ID to control which assets (models, images, etc.) are generated for the scan.
Common configurations:
- Default Native Pipeline: assetConfigId == "25f6d3a6-a634-40c3-8452-0342bee242d0"
- Default Web Pipeline: assetConfigId == "ee651a9e-6de1-4621-a5c9-5d31ca874718"
- Legacy Native Pipeline: assetConfigId == "c979ab6b-e46b-4c1c-89e1-bb02435b5cbf"
25f6d3a6-a634-40c3-8452-0342bee242d0The unique ID of the user in the Prism Hosted API.
unique-user-idThe partner-provided unique user token associated with this scan.
unique-user-tokenThe date and time when the scan was created.
The date and time when the scan was last updated.
DELETE /scans/{scanId} HTTP/1.1
Host: api.hosted.prismlabs.tech
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "unique-scan-id",
"status": "PROCESSING",
"prismScanId": "prism-unique-scan-id",
"deviceConfigName": "IPHONE_SCANNER",
"assetConfigId": "25f6d3a6-a634-40c3-8452-0342bee242d0",
"weight": {
"value": 80,
"unit": "kg"
},
"height": {
"value": 1.8,
"unit": "m"
},
"userId": "unique-user-id",
"userToken": "unique-user-token",
"createdAt": "text",
"updatedAt": "text",
"scanAssets": {
"id": "unique-scan-asset-id",
"scanId": "unique-scan-id",
"captureData": "succeeded",
"captureDataUpdatedAt": "text",
"body": "started",
"bodyUpdatedAt": "text",
"fittedBody": null,
"fittedBodyUpdatedAt": "text",
"measurement": null,
"measurementUpdatedAt": "text",
"createdAt": "text",
"updatedAt": "text"
},
"measurements": {
"neckFit": 1,
"shoulderFit": 1,
"upperChestFit": 1,
"chestFit": 1,
"lowerChestFit": 1,
"waistFit": 1,
"waistNavyFit": 1,
"stomachFit": 1,
"hipsFit": 1,
"upperThighLeftFit": 1,
"upperThighRightFit": 1,
"thighLeftFit": 1,
"thighRightFit": 1,
"lowerThighLeftFit": 1,
"lowerThighRightFit": 1,
"calfLeftFit": 1,
"calfRightFit": 1,
"ankleLeftFit": 1,
"ankleRightFit": 1,
"midArmRightFit": 1,
"midArmLeftFit": 1,
"lowerArmRightFit": 1,
"lowerArmLeftFit": 1,
"waistToHipRatio": 1,
"forearmLeftFit": 1,
"forearmRightFit": 1,
"wristLeftFit": 1,
"wristRightFit": 1,
"bmiPredicted": 1,
"bmiConfidence": 1,
"bodyRoundnessIndex": 1,
"fullBodyVolume": 1
},
"bodyfat": {
"bodyfatMethod": "coco",
"bodyfatPercentage": 20,
"leanMassPercentage": 80,
"fatMass": 16,
"leanMass": 64,
"vatPercentage": 1.5,
"vatMass": 1.2,
"appendicularLeanMassPercentage": 20,
"appendicularLeanMass": 16,
"skeletalMuscleMassPercentage": 20,
"skeletalMuscleMass": 16
}
}This operation provides a pre-signed upload URL for a specific scan.
Use the returned URL to upload the capture data for this scan directly with a PUT request to Prism.
The unique ID of the scan.
unique-scan-idExpiration time of the signed url
A signed url to upload capture data to prism
https://signed-urlPOST /scans/{scanId}/upload-url HTTP/1.1
Host: api.hosted.prismlabs.tech
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"expirationTime": "text",
"url": "https://signed-url"
}Last updated
