# 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:

```http
accept: application/json;v=1
authorization: Bearer {{API_KEY}}
content-type: application/json
```

Replace `{{API_KEY}}` with your Prism API key for the selected environment.

## List scans.

> \
> This operation returns a paginated list of \*\*scans\*\* available for a specific \*\*user\*\* identified by the partner-provided \*\*token\*\*.\
> \
> Use the \`limit\`, \`cursor\`, and \`order\` query parameters to control pagination behavior.\
> \
> Optionally, you can use the \`unit-system\` query parameter to receive values in \*\*metric\*\* or \*\*imperial\*\* units.<br>

````json
{"openapi":"3.0.3","info":{"title":"Prism Hosted API","version":"1"},"tags":[{"name":"Scans","description":"### Create and manage body scans for users.\n\nEach scan generates body measurements, body composition metrics, various 3D and image assets, and can further generate **Future Me** predictions.\nScans are always linked to a specific user and can be created, queried, and deleted independently of other scans.\n\nCommon configurations:\n- Default Native Pipeline: assetConfigId == \"25f6d3a6-a634-40c3-8452-0342bee242d0\"\n- Default Web Pipeline: assetConfigId == \"ee651a9e-6de1-4621-a5c9-5d31ca874718\"\n- Legacy Native Pipeline: assetConfigId == \"c979ab6b-e46b-4c1c-89e1-bb02435b5cbf\"\n\nAll Scans endpoints require the following headers:\n```http\naccept: application/json;v=1\nauthorization: Bearer {{API_KEY}}\ncontent-type: application/json\n```\nReplace `{{API_KEY}}` with your Prism API key for the selected environment.","parent":"Prism Hosted API"}],"servers":[{"url":"https://api.hosted.prismlabs.tech","description":"Production environment for Prism Hosted API"},{"url":"https://sandbox-api.hosted.prismlabs.tech","description":"Sandbox environment for Prism Hosted API"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http","name":"Authorization","in":"header"}}},"paths":{"/scans":{"get":{"description":"\nThis operation returns a paginated list of **scans** available for a specific **user** identified by the partner-provided **token**.\n\nUse the `limit`, `cursor`, and `order` query parameters to control pagination behavior.\n\nOptionally, you can use the `unit-system` query parameter to receive values in **metric** or **imperial** units.\n","operationId":"ScansController_findAll_1","parameters":[{"name":"unit-system","required":false,"in":"query","description":"The unit system in which values will be returned.","schema":{"enum":["metric","imperial"],"type":"string"}},{"name":"order","required":false,"in":"query","description":"Sorting order used for pagination. Determines how the cursor is applied (for example, ascending or descending by creation time).","schema":{"enum":["asc","desc"],"type":"string"}},{"name":"cursor","required":false,"in":"query","description":"Cursor pointing to the position in the scan list from which the next page should start. Usually taken from the previous response.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"Maximum number of scans to return in a single page.","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json;v=1":{"schema":{"type":"object"}}}}},"summary":"List scans.","tags":["Scans"]}}}}
````

## Register a new scan.

> \
> 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.<br>

````json
{"openapi":"3.0.3","info":{"title":"Prism Hosted API","version":"1"},"tags":[{"name":"Scans","description":"### Create and manage body scans for users.\n\nEach scan generates body measurements, body composition metrics, various 3D and image assets, and can further generate **Future Me** predictions.\nScans are always linked to a specific user and can be created, queried, and deleted independently of other scans.\n\nCommon configurations:\n- Default Native Pipeline: assetConfigId == \"25f6d3a6-a634-40c3-8452-0342bee242d0\"\n- Default Web Pipeline: assetConfigId == \"ee651a9e-6de1-4621-a5c9-5d31ca874718\"\n- Legacy Native Pipeline: assetConfigId == \"c979ab6b-e46b-4c1c-89e1-bb02435b5cbf\"\n\nAll Scans endpoints require the following headers:\n```http\naccept: application/json;v=1\nauthorization: Bearer {{API_KEY}}\ncontent-type: application/json\n```\nReplace `{{API_KEY}}` with your Prism API key for the selected environment.","parent":"Prism Hosted API"}],"servers":[{"url":"https://api.hosted.prismlabs.tech","description":"Production environment for Prism Hosted API"},{"url":"https://sandbox-api.hosted.prismlabs.tech","description":"Sandbox environment for Prism Hosted API"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http","name":"Authorization","in":"header"}},"schemas":{"CreateScanDto":{"type":"object","properties":{"userToken":{"type":"string","description":"The partner-provided unique user token associated with this scan."},"deviceConfigName":{"enum":["IPHONE_SCANNER","ANDROID_SCANNER"],"type":"string","description":"The device configuration used to capture this scan."},"assetConfigId":{"type":"string","format":"uuid","description":"The asset configuration applied to this scan.\n\nUse this ID to control which assets (models, images, etc.) are generated for the scan.\n\nCommon configurations:\n- Default Native Pipeline: assetConfigId == \"25f6d3a6-a634-40c3-8452-0342bee242d0\"\n- Default Web Pipeline: assetConfigId == \"ee651a9e-6de1-4621-a5c9-5d31ca874718\"\n- Legacy Native Pipeline: assetConfigId == \"c979ab6b-e46b-4c1c-89e1-bb02435b5cbf\""},"bodyfatMethod":{"type":"string","enum":["adam","army","army_athlete","coco","coco_bri","coco_legacy","coco2","coco2_oc","extended_navy_thinboost","tina_fit"],"description":"The body fat method applied to this scan."}},"required":["userToken","deviceConfigName"]},"ScanDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique ID of the scan within the Hosted API."},"status":{"enum":["CREATED","PROCESSING","READY","FAILED"],"type":"string","description":"The current processing status of the scan."},"prismScanId":{"type":"string","description":"The unique ID of the scan in Prism’s internal systems. Used mainly for debugging and support."},"deviceConfigName":{"enum":["IPHONE_SCANNER","ANDROID_SCANNER"],"type":"string","description":"The device configuration used to capture this scan."},"assetConfigId":{"type":"string","description":"The asset configuration applied to this scan.\n\nUse this ID to control which assets (models, images, etc.) are generated for the scan.\n\nCommon configurations:\n- Default Native Pipeline: assetConfigId == \"25f6d3a6-a634-40c3-8452-0342bee242d0\"\n- Default Web Pipeline: assetConfigId == \"ee651a9e-6de1-4621-a5c9-5d31ca874718\"\n- Legacy Native Pipeline: assetConfigId == \"c979ab6b-e46b-4c1c-89e1-bb02435b5cbf\""},"weight":{"description":"The user's body weight at the time of the scan.","allOf":[{"$ref":"#/components/schemas/Weight"}]},"height":{"description":"The user's body height.","allOf":[{"$ref":"#/components/schemas/Height"}]},"userId":{"type":"string","description":"The unique ID of the user in the Prism Hosted API."},"userToken":{"type":"string","description":"The partner-provided unique user token associated with this scan."},"createdAt":{"type":"string","description":"The date and time when the scan was created."},"updatedAt":{"type":"string","description":"The date and time when the scan was last updated."},"scanAssets":{"description":"The asset metadata associated with the scan, including generation status of related assets.","allOf":[{"$ref":"#/components/schemas/ScanAssetsDto"}]},"measurements":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/MeasurementDto"}]},"bodyfat":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/BodyfatDto"}]}},"required":["id","status","prismScanId","deviceConfigName","assetConfigId","weight","height","userId","userToken","createdAt","updatedAt","measurements","bodyfat"]},"Weight":{"type":"object","properties":{"value":{"type":"number","minimum":1,"description":"The numeric weight"},"unit":{"enum":["kg","lb"],"type":"string","description":"The unit of the weight value"}},"required":["value","unit"]},"Height":{"type":"object","properties":{"value":{"type":"number","minimum":1,"description":"The numeric height"},"unit":{"enum":["m","in"],"type":"string","description":"The unit of the height value"}},"required":["value","unit"]},"ScanAssetsDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique ID of the scan assets"},"scanId":{"type":"string","description":"The ID of the scan associated with the assets"},"captureData":{"type":"string","nullable":true,"enum":["started","succeeded","failed"],"description":"The status of the capture data associated with the scan"},"captureDataUpdatedAt":{"type":"string","nullable":true,"description":"The date and time the capture data was last updated"},"body":{"type":"string","nullable":true,"enum":["started","succeeded","failed"],"description":"The status of the body associated with the scan"},"bodyUpdatedAt":{"type":"string","nullable":true,"description":"The date and time the body was last updated"},"fittedBody":{"type":"string","nullable":true,"enum":["started","succeeded","failed"],"description":"The status of the fitted body associated with the scan"},"fittedBodyUpdatedAt":{"type":"string","nullable":true,"description":"The date and time the fitted body was last updated"},"measurement":{"type":"string","nullable":true,"enum":["started","succeeded","failed"],"description":"The status of the measurement associated with the scan"},"measurementUpdatedAt":{"type":"string","nullable":true,"description":"The date and time the measurement was last updated"},"createdAt":{"type":"string","description":"The date and time the scan assets were created"},"updatedAt":{"type":"string","description":"The date and time the scan assets were last updated"}},"required":["id","scanId","captureData","captureDataUpdatedAt","body","bodyUpdatedAt","fittedBodyUpdatedAt","measurementUpdatedAt","createdAt","updatedAt"]},"MeasurementDto":{"type":"object","properties":{"neckFit":{"type":"number"},"shoulderFit":{"type":"number"},"upperChestFit":{"type":"number"},"chestFit":{"type":"number"},"lowerChestFit":{"type":"number"},"waistFit":{"type":"number"},"waistNavyFit":{"type":"number"},"stomachFit":{"type":"number"},"hipsFit":{"type":"number"},"upperThighLeftFit":{"type":"number"},"upperThighRightFit":{"type":"number"},"thighLeftFit":{"type":"number"},"thighRightFit":{"type":"number"},"lowerThighLeftFit":{"type":"number"},"lowerThighRightFit":{"type":"number"},"calfLeftFit":{"type":"number"},"calfRightFit":{"type":"number"},"ankleLeftFit":{"type":"number"},"ankleRightFit":{"type":"number"},"midArmRightFit":{"type":"number"},"midArmLeftFit":{"type":"number"},"lowerArmRightFit":{"type":"number"},"lowerArmLeftFit":{"type":"number"},"waistToHipRatio":{"type":"number"},"forearmLeftFit":{"type":"number"},"forearmRightFit":{"type":"number"},"wristLeftFit":{"type":"number"},"wristRightFit":{"type":"number"},"bmiPredicted":{"type":"number"},"bmiConfidence":{"type":"number"},"bodyRoundnessIndex":{"type":"number"},"fullBodyVolume":{"type":"number"}},"required":["neckFit","shoulderFit","upperChestFit","chestFit","lowerChestFit","waistFit","waistNavyFit","stomachFit","hipsFit","upperThighLeftFit","upperThighRightFit","thighLeftFit","thighRightFit","lowerThighLeftFit","lowerThighRightFit","calfLeftFit","calfRightFit","ankleLeftFit","ankleRightFit","midArmRightFit","midArmLeftFit","lowerArmRightFit","lowerArmLeftFit","waistToHipRatio","forearmLeftFit","forearmRightFit","wristLeftFit","wristRightFit","bmiPredicted","bmiConfidence","bodyRoundnessIndex","fullBodyVolume"]},"BodyfatDto":{"type":"object","properties":{"bodyfatMethod":{"type":"string","enum":["adam","army","army_athlete","coco","coco_bri","coco_legacy","coco2","coco2_oc","extended_navy_thinboost","tina_fit"],"description":"Bodyfat method for the scan"},"bodyfatPercentage":{"type":"number","nullable":true,"description":"Bodyfat percentage"},"leanMassPercentage":{"type":"number","nullable":true,"description":"Lean mass percentage"},"fatMass":{"type":"number","nullable":true,"description":"fat mass in kg"},"leanMass":{"type":"number","nullable":true,"description":"lean mass in kg"},"vatPercentage":{"type":"number","nullable":true,"description":"visceral adipose tissue (VAT) in %"},"vatMass":{"type":"number","nullable":true,"description":"visceral adipose tissue (VAT) in kg"},"appendicularLeanMassPercentage":{"type":"number","nullable":true,"description":"appendicular lean mass (ALM) in %"},"appendicularLeanMass":{"type":"number","nullable":true,"description":"appendicular lean mass (ALM) in kg"},"skeletalMuscleMassPercentage":{"type":"number","nullable":true,"description":"skeletal muscle mass (SMM) in %"},"skeletalMuscleMass":{"type":"number","nullable":true,"description":"skeletal muscle mass (SMM) in kg"}},"required":["bodyfatMethod","bodyfatPercentage","leanMassPercentage","fatMass","leanMass","vatPercentage","vatMass","appendicularLeanMassPercentage","appendicularLeanMass","skeletalMuscleMassPercentage","skeletalMuscleMass"]}}},"paths":{"/scans":{"post":{"description":"\nThis operation registers a new **scan** in the Hosted API for an existing **user**.\n\nTo 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.\n","operationId":"ScansController_create_1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateScanDto"}}}},"responses":{"201":{"description":"","content":{"application/json;v=1":{"schema":{"$ref":"#/components/schemas/ScanDto"}}}}},"summary":"Register a new scan.","tags":["Scans"]}}}}
````

## Get status of a scan.

> \
> 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.<br>

````json
{"openapi":"3.0.3","info":{"title":"Prism Hosted API","version":"1"},"tags":[{"name":"Scans","description":"### Create and manage body scans for users.\n\nEach scan generates body measurements, body composition metrics, various 3D and image assets, and can further generate **Future Me** predictions.\nScans are always linked to a specific user and can be created, queried, and deleted independently of other scans.\n\nCommon configurations:\n- Default Native Pipeline: assetConfigId == \"25f6d3a6-a634-40c3-8452-0342bee242d0\"\n- Default Web Pipeline: assetConfigId == \"ee651a9e-6de1-4621-a5c9-5d31ca874718\"\n- Legacy Native Pipeline: assetConfigId == \"c979ab6b-e46b-4c1c-89e1-bb02435b5cbf\"\n\nAll Scans endpoints require the following headers:\n```http\naccept: application/json;v=1\nauthorization: Bearer {{API_KEY}}\ncontent-type: application/json\n```\nReplace `{{API_KEY}}` with your Prism API key for the selected environment.","parent":"Prism Hosted API"}],"servers":[{"url":"https://api.hosted.prismlabs.tech","description":"Production environment for Prism Hosted API"},{"url":"https://sandbox-api.hosted.prismlabs.tech","description":"Sandbox environment for Prism Hosted API"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http","name":"Authorization","in":"header"}},"schemas":{"ScanDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique ID of the scan within the Hosted API."},"status":{"enum":["CREATED","PROCESSING","READY","FAILED"],"type":"string","description":"The current processing status of the scan."},"prismScanId":{"type":"string","description":"The unique ID of the scan in Prism’s internal systems. Used mainly for debugging and support."},"deviceConfigName":{"enum":["IPHONE_SCANNER","ANDROID_SCANNER"],"type":"string","description":"The device configuration used to capture this scan."},"assetConfigId":{"type":"string","description":"The asset configuration applied to this scan.\n\nUse this ID to control which assets (models, images, etc.) are generated for the scan.\n\nCommon configurations:\n- Default Native Pipeline: assetConfigId == \"25f6d3a6-a634-40c3-8452-0342bee242d0\"\n- Default Web Pipeline: assetConfigId == \"ee651a9e-6de1-4621-a5c9-5d31ca874718\"\n- Legacy Native Pipeline: assetConfigId == \"c979ab6b-e46b-4c1c-89e1-bb02435b5cbf\""},"weight":{"description":"The user's body weight at the time of the scan.","allOf":[{"$ref":"#/components/schemas/Weight"}]},"height":{"description":"The user's body height.","allOf":[{"$ref":"#/components/schemas/Height"}]},"userId":{"type":"string","description":"The unique ID of the user in the Prism Hosted API."},"userToken":{"type":"string","description":"The partner-provided unique user token associated with this scan."},"createdAt":{"type":"string","description":"The date and time when the scan was created."},"updatedAt":{"type":"string","description":"The date and time when the scan was last updated."},"scanAssets":{"description":"The asset metadata associated with the scan, including generation status of related assets.","allOf":[{"$ref":"#/components/schemas/ScanAssetsDto"}]},"measurements":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/MeasurementDto"}]},"bodyfat":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/BodyfatDto"}]}},"required":["id","status","prismScanId","deviceConfigName","assetConfigId","weight","height","userId","userToken","createdAt","updatedAt","measurements","bodyfat"]},"Weight":{"type":"object","properties":{"value":{"type":"number","minimum":1,"description":"The numeric weight"},"unit":{"enum":["kg","lb"],"type":"string","description":"The unit of the weight value"}},"required":["value","unit"]},"Height":{"type":"object","properties":{"value":{"type":"number","minimum":1,"description":"The numeric height"},"unit":{"enum":["m","in"],"type":"string","description":"The unit of the height value"}},"required":["value","unit"]},"ScanAssetsDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique ID of the scan assets"},"scanId":{"type":"string","description":"The ID of the scan associated with the assets"},"captureData":{"type":"string","nullable":true,"enum":["started","succeeded","failed"],"description":"The status of the capture data associated with the scan"},"captureDataUpdatedAt":{"type":"string","nullable":true,"description":"The date and time the capture data was last updated"},"body":{"type":"string","nullable":true,"enum":["started","succeeded","failed"],"description":"The status of the body associated with the scan"},"bodyUpdatedAt":{"type":"string","nullable":true,"description":"The date and time the body was last updated"},"fittedBody":{"type":"string","nullable":true,"enum":["started","succeeded","failed"],"description":"The status of the fitted body associated with the scan"},"fittedBodyUpdatedAt":{"type":"string","nullable":true,"description":"The date and time the fitted body was last updated"},"measurement":{"type":"string","nullable":true,"enum":["started","succeeded","failed"],"description":"The status of the measurement associated with the scan"},"measurementUpdatedAt":{"type":"string","nullable":true,"description":"The date and time the measurement was last updated"},"createdAt":{"type":"string","description":"The date and time the scan assets were created"},"updatedAt":{"type":"string","description":"The date and time the scan assets were last updated"}},"required":["id","scanId","captureData","captureDataUpdatedAt","body","bodyUpdatedAt","fittedBodyUpdatedAt","measurementUpdatedAt","createdAt","updatedAt"]},"MeasurementDto":{"type":"object","properties":{"neckFit":{"type":"number"},"shoulderFit":{"type":"number"},"upperChestFit":{"type":"number"},"chestFit":{"type":"number"},"lowerChestFit":{"type":"number"},"waistFit":{"type":"number"},"waistNavyFit":{"type":"number"},"stomachFit":{"type":"number"},"hipsFit":{"type":"number"},"upperThighLeftFit":{"type":"number"},"upperThighRightFit":{"type":"number"},"thighLeftFit":{"type":"number"},"thighRightFit":{"type":"number"},"lowerThighLeftFit":{"type":"number"},"lowerThighRightFit":{"type":"number"},"calfLeftFit":{"type":"number"},"calfRightFit":{"type":"number"},"ankleLeftFit":{"type":"number"},"ankleRightFit":{"type":"number"},"midArmRightFit":{"type":"number"},"midArmLeftFit":{"type":"number"},"lowerArmRightFit":{"type":"number"},"lowerArmLeftFit":{"type":"number"},"waistToHipRatio":{"type":"number"},"forearmLeftFit":{"type":"number"},"forearmRightFit":{"type":"number"},"wristLeftFit":{"type":"number"},"wristRightFit":{"type":"number"},"bmiPredicted":{"type":"number"},"bmiConfidence":{"type":"number"},"bodyRoundnessIndex":{"type":"number"},"fullBodyVolume":{"type":"number"}},"required":["neckFit","shoulderFit","upperChestFit","chestFit","lowerChestFit","waistFit","waistNavyFit","stomachFit","hipsFit","upperThighLeftFit","upperThighRightFit","thighLeftFit","thighRightFit","lowerThighLeftFit","lowerThighRightFit","calfLeftFit","calfRightFit","ankleLeftFit","ankleRightFit","midArmRightFit","midArmLeftFit","lowerArmRightFit","lowerArmLeftFit","waistToHipRatio","forearmLeftFit","forearmRightFit","wristLeftFit","wristRightFit","bmiPredicted","bmiConfidence","bodyRoundnessIndex","fullBodyVolume"]},"BodyfatDto":{"type":"object","properties":{"bodyfatMethod":{"type":"string","enum":["adam","army","army_athlete","coco","coco_bri","coco_legacy","coco2","coco2_oc","extended_navy_thinboost","tina_fit"],"description":"Bodyfat method for the scan"},"bodyfatPercentage":{"type":"number","nullable":true,"description":"Bodyfat percentage"},"leanMassPercentage":{"type":"number","nullable":true,"description":"Lean mass percentage"},"fatMass":{"type":"number","nullable":true,"description":"fat mass in kg"},"leanMass":{"type":"number","nullable":true,"description":"lean mass in kg"},"vatPercentage":{"type":"number","nullable":true,"description":"visceral adipose tissue (VAT) in %"},"vatMass":{"type":"number","nullable":true,"description":"visceral adipose tissue (VAT) in kg"},"appendicularLeanMassPercentage":{"type":"number","nullable":true,"description":"appendicular lean mass (ALM) in %"},"appendicularLeanMass":{"type":"number","nullable":true,"description":"appendicular lean mass (ALM) in kg"},"skeletalMuscleMassPercentage":{"type":"number","nullable":true,"description":"skeletal muscle mass (SMM) in %"},"skeletalMuscleMass":{"type":"number","nullable":true,"description":"skeletal muscle mass (SMM) in kg"}},"required":["bodyfatMethod","bodyfatPercentage","leanMassPercentage","fatMass","leanMass","vatPercentage","vatMass","appendicularLeanMassPercentage","appendicularLeanMass","skeletalMuscleMassPercentage","skeletalMuscleMass"]}}},"paths":{"/scans/{id}":{"get":{"description":"\nThis operation provides the current **status** and details of a specific **scan**.\n\nUse this endpoint to poll the processing status after registering a scan or to retrieve its latest state for display in your application.\n","operationId":"ScansController_findOne_1","parameters":[{"name":"id","required":true,"in":"path","description":"The unique ID of the scan.","schema":{"type":"string"}},{"name":"unit-system","required":false,"in":"query","description":"The unit system in which values will be returned.","schema":{"enum":["metric","imperial"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json;v=1":{"schema":{"$ref":"#/components/schemas/ScanDto"}}}}},"summary":"Get status of a scan.","tags":["Scans"]}}}}
````

## Delete a scan.

> \
> This operation deletes a specific \*\*scan\*\*.\
> \
> After deletion, the scan and its associated data are no longer available for retrieval or reporting.<br>

````json
{"openapi":"3.0.3","info":{"title":"Prism Hosted API","version":"1"},"tags":[{"name":"Scans","description":"### Create and manage body scans for users.\n\nEach scan generates body measurements, body composition metrics, various 3D and image assets, and can further generate **Future Me** predictions.\nScans are always linked to a specific user and can be created, queried, and deleted independently of other scans.\n\nCommon configurations:\n- Default Native Pipeline: assetConfigId == \"25f6d3a6-a634-40c3-8452-0342bee242d0\"\n- Default Web Pipeline: assetConfigId == \"ee651a9e-6de1-4621-a5c9-5d31ca874718\"\n- Legacy Native Pipeline: assetConfigId == \"c979ab6b-e46b-4c1c-89e1-bb02435b5cbf\"\n\nAll Scans endpoints require the following headers:\n```http\naccept: application/json;v=1\nauthorization: Bearer {{API_KEY}}\ncontent-type: application/json\n```\nReplace `{{API_KEY}}` with your Prism API key for the selected environment.","parent":"Prism Hosted API"}],"servers":[{"url":"https://api.hosted.prismlabs.tech","description":"Production environment for Prism Hosted API"},{"url":"https://sandbox-api.hosted.prismlabs.tech","description":"Sandbox environment for Prism Hosted API"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http","name":"Authorization","in":"header"}},"schemas":{"ScanDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique ID of the scan within the Hosted API."},"status":{"enum":["CREATED","PROCESSING","READY","FAILED"],"type":"string","description":"The current processing status of the scan."},"prismScanId":{"type":"string","description":"The unique ID of the scan in Prism’s internal systems. Used mainly for debugging and support."},"deviceConfigName":{"enum":["IPHONE_SCANNER","ANDROID_SCANNER"],"type":"string","description":"The device configuration used to capture this scan."},"assetConfigId":{"type":"string","description":"The asset configuration applied to this scan.\n\nUse this ID to control which assets (models, images, etc.) are generated for the scan.\n\nCommon configurations:\n- Default Native Pipeline: assetConfigId == \"25f6d3a6-a634-40c3-8452-0342bee242d0\"\n- Default Web Pipeline: assetConfigId == \"ee651a9e-6de1-4621-a5c9-5d31ca874718\"\n- Legacy Native Pipeline: assetConfigId == \"c979ab6b-e46b-4c1c-89e1-bb02435b5cbf\""},"weight":{"description":"The user's body weight at the time of the scan.","allOf":[{"$ref":"#/components/schemas/Weight"}]},"height":{"description":"The user's body height.","allOf":[{"$ref":"#/components/schemas/Height"}]},"userId":{"type":"string","description":"The unique ID of the user in the Prism Hosted API."},"userToken":{"type":"string","description":"The partner-provided unique user token associated with this scan."},"createdAt":{"type":"string","description":"The date and time when the scan was created."},"updatedAt":{"type":"string","description":"The date and time when the scan was last updated."},"scanAssets":{"description":"The asset metadata associated with the scan, including generation status of related assets.","allOf":[{"$ref":"#/components/schemas/ScanAssetsDto"}]},"measurements":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/MeasurementDto"}]},"bodyfat":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/BodyfatDto"}]}},"required":["id","status","prismScanId","deviceConfigName","assetConfigId","weight","height","userId","userToken","createdAt","updatedAt","measurements","bodyfat"]},"Weight":{"type":"object","properties":{"value":{"type":"number","minimum":1,"description":"The numeric weight"},"unit":{"enum":["kg","lb"],"type":"string","description":"The unit of the weight value"}},"required":["value","unit"]},"Height":{"type":"object","properties":{"value":{"type":"number","minimum":1,"description":"The numeric height"},"unit":{"enum":["m","in"],"type":"string","description":"The unit of the height value"}},"required":["value","unit"]},"ScanAssetsDto":{"type":"object","properties":{"id":{"type":"string","description":"The unique ID of the scan assets"},"scanId":{"type":"string","description":"The ID of the scan associated with the assets"},"captureData":{"type":"string","nullable":true,"enum":["started","succeeded","failed"],"description":"The status of the capture data associated with the scan"},"captureDataUpdatedAt":{"type":"string","nullable":true,"description":"The date and time the capture data was last updated"},"body":{"type":"string","nullable":true,"enum":["started","succeeded","failed"],"description":"The status of the body associated with the scan"},"bodyUpdatedAt":{"type":"string","nullable":true,"description":"The date and time the body was last updated"},"fittedBody":{"type":"string","nullable":true,"enum":["started","succeeded","failed"],"description":"The status of the fitted body associated with the scan"},"fittedBodyUpdatedAt":{"type":"string","nullable":true,"description":"The date and time the fitted body was last updated"},"measurement":{"type":"string","nullable":true,"enum":["started","succeeded","failed"],"description":"The status of the measurement associated with the scan"},"measurementUpdatedAt":{"type":"string","nullable":true,"description":"The date and time the measurement was last updated"},"createdAt":{"type":"string","description":"The date and time the scan assets were created"},"updatedAt":{"type":"string","description":"The date and time the scan assets were last updated"}},"required":["id","scanId","captureData","captureDataUpdatedAt","body","bodyUpdatedAt","fittedBodyUpdatedAt","measurementUpdatedAt","createdAt","updatedAt"]},"MeasurementDto":{"type":"object","properties":{"neckFit":{"type":"number"},"shoulderFit":{"type":"number"},"upperChestFit":{"type":"number"},"chestFit":{"type":"number"},"lowerChestFit":{"type":"number"},"waistFit":{"type":"number"},"waistNavyFit":{"type":"number"},"stomachFit":{"type":"number"},"hipsFit":{"type":"number"},"upperThighLeftFit":{"type":"number"},"upperThighRightFit":{"type":"number"},"thighLeftFit":{"type":"number"},"thighRightFit":{"type":"number"},"lowerThighLeftFit":{"type":"number"},"lowerThighRightFit":{"type":"number"},"calfLeftFit":{"type":"number"},"calfRightFit":{"type":"number"},"ankleLeftFit":{"type":"number"},"ankleRightFit":{"type":"number"},"midArmRightFit":{"type":"number"},"midArmLeftFit":{"type":"number"},"lowerArmRightFit":{"type":"number"},"lowerArmLeftFit":{"type":"number"},"waistToHipRatio":{"type":"number"},"forearmLeftFit":{"type":"number"},"forearmRightFit":{"type":"number"},"wristLeftFit":{"type":"number"},"wristRightFit":{"type":"number"},"bmiPredicted":{"type":"number"},"bmiConfidence":{"type":"number"},"bodyRoundnessIndex":{"type":"number"},"fullBodyVolume":{"type":"number"}},"required":["neckFit","shoulderFit","upperChestFit","chestFit","lowerChestFit","waistFit","waistNavyFit","stomachFit","hipsFit","upperThighLeftFit","upperThighRightFit","thighLeftFit","thighRightFit","lowerThighLeftFit","lowerThighRightFit","calfLeftFit","calfRightFit","ankleLeftFit","ankleRightFit","midArmRightFit","midArmLeftFit","lowerArmRightFit","lowerArmLeftFit","waistToHipRatio","forearmLeftFit","forearmRightFit","wristLeftFit","wristRightFit","bmiPredicted","bmiConfidence","bodyRoundnessIndex","fullBodyVolume"]},"BodyfatDto":{"type":"object","properties":{"bodyfatMethod":{"type":"string","enum":["adam","army","army_athlete","coco","coco_bri","coco_legacy","coco2","coco2_oc","extended_navy_thinboost","tina_fit"],"description":"Bodyfat method for the scan"},"bodyfatPercentage":{"type":"number","nullable":true,"description":"Bodyfat percentage"},"leanMassPercentage":{"type":"number","nullable":true,"description":"Lean mass percentage"},"fatMass":{"type":"number","nullable":true,"description":"fat mass in kg"},"leanMass":{"type":"number","nullable":true,"description":"lean mass in kg"},"vatPercentage":{"type":"number","nullable":true,"description":"visceral adipose tissue (VAT) in %"},"vatMass":{"type":"number","nullable":true,"description":"visceral adipose tissue (VAT) in kg"},"appendicularLeanMassPercentage":{"type":"number","nullable":true,"description":"appendicular lean mass (ALM) in %"},"appendicularLeanMass":{"type":"number","nullable":true,"description":"appendicular lean mass (ALM) in kg"},"skeletalMuscleMassPercentage":{"type":"number","nullable":true,"description":"skeletal muscle mass (SMM) in %"},"skeletalMuscleMass":{"type":"number","nullable":true,"description":"skeletal muscle mass (SMM) in kg"}},"required":["bodyfatMethod","bodyfatPercentage","leanMassPercentage","fatMass","leanMass","vatPercentage","vatMass","appendicularLeanMassPercentage","appendicularLeanMass","skeletalMuscleMassPercentage","skeletalMuscleMass"]}}},"paths":{"/scans/{id}":{"delete":{"description":"\nThis operation deletes a specific **scan**.\n\nAfter deletion, the scan and its associated data are no longer available for retrieval or reporting.\n","operationId":"ScansController_remove_1","parameters":[{"name":"id","required":true,"in":"path","description":"The unique ID of the scan.","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json;v=1":{"schema":{"$ref":"#/components/schemas/ScanDto"}}}}},"summary":"Delete a scan.","tags":["Scans"]}}}}
````

## Get upload URL for a scan.

> \
> 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.<br>

````json
{"openapi":"3.0.3","info":{"title":"Prism Hosted API","version":"1"},"tags":[{"name":"Scans","description":"### Create and manage body scans for users.\n\nEach scan generates body measurements, body composition metrics, various 3D and image assets, and can further generate **Future Me** predictions.\nScans are always linked to a specific user and can be created, queried, and deleted independently of other scans.\n\nCommon configurations:\n- Default Native Pipeline: assetConfigId == \"25f6d3a6-a634-40c3-8452-0342bee242d0\"\n- Default Web Pipeline: assetConfigId == \"ee651a9e-6de1-4621-a5c9-5d31ca874718\"\n- Legacy Native Pipeline: assetConfigId == \"c979ab6b-e46b-4c1c-89e1-bb02435b5cbf\"\n\nAll Scans endpoints require the following headers:\n```http\naccept: application/json;v=1\nauthorization: Bearer {{API_KEY}}\ncontent-type: application/json\n```\nReplace `{{API_KEY}}` with your Prism API key for the selected environment.","parent":"Prism Hosted API"}],"servers":[{"url":"https://api.hosted.prismlabs.tech","description":"Production environment for Prism Hosted API"},{"url":"https://sandbox-api.hosted.prismlabs.tech","description":"Sandbox environment for Prism Hosted API"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http","name":"Authorization","in":"header"}},"schemas":{"ScanUploadUrlDto":{"type":"object","properties":{"expirationTime":{"type":"string","description":"Expiration time of the signed url"},"url":{"type":"string","description":"A signed url to upload capture data to prism"}},"required":["expirationTime","url"]}}},"paths":{"/scans/{scanId}/upload-url":{"post":{"description":"\nThis operation provides a pre-signed **upload URL** for a specific **scan**.\n\nUse the returned URL to upload the capture data for this scan directly with a **PUT** request to Prism.\n","operationId":"ScanUploadUrlController_create_1","parameters":[{"name":"scanId","required":true,"in":"path","description":"The unique ID of the scan.","schema":{"type":"string"}}],"responses":{"201":{"description":"","content":{"application/json;v=1":{"schema":{"$ref":"#/components/schemas/ScanUploadUrlDto"}}}}},"summary":"Get upload URL for a scan.","tags":["Scans"]}}}}
````


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.prismlabs.tech/api-reference/api-reference-stage/prism-hosted-api/scans.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
