Open Inventory docs
API referenceSpatial roomsRoom scansScanidPlacementsResourceid

Create or replace an item's current indoor 3D placement

The API runs on your own Open Inventory instance. Session-authenticated requests require a session on that instance.

PUT
/room-scans/{scanId}/placements/{resourceId}

The scan must still be the active revision. Coordinates use its ARKit world frame in metres.

Authorization

bearerAuth
headerAuthorizationBearer <inv_ token>

Path Parameters

scanId*string
Formatuuid
resourceId*string
Formatuuid

Header Parameters

X-Organization-ID?string

Organization membership selected for this request. User-bound credentials may select any active membership; standalone tokens may only repeat their pinned organization ID.

Formatuuid

Request Body

application/json
  1. body
position*array<>

XYZ values in metres.

Items3 <= items <= 3
orientation*array<>

Normalized XYZW quaternion.

Items4 <= items <= 4
extent?array<>
Items3 <= items <= 3
confidence*number
Range0 <= value <= 1
method*string
Value in"scene-depth""mesh-raycast""plane-raycast""manual"
anchorIdentifier?string
Formatuuid
capturedAt*string
Formatdate-time
localizationEvidence?

Response Body

Placement saved

Example Request
curl -X PUT 'https://inventory.example.com/api/v1/room-scans/497f6eca-6276-4993-bfeb-53cbbbba6f08/placements/497f6eca-6276-4993-bfeb-53cbbbba6f08' \  -H 'Content-Type: application/json' \  -d '{  "position": [    -10000,    -10000,    -10000  ],  "orientation": [    -1,    -1,    -1,    -1  ],  "confidence": 0,  "method": "scene-depth",  "capturedAt": "2019-08-24T14:15:22Z"}'
Example Response
Empty