Open Inventory / Docs
EndpunkteSpatial roomsRoom scans

Upload a normalized RoomPlan scan and its native assets

Die API läuft auf deiner Anwendungsinstanz. Schemas und Feldnamen stammen unverändert aus der OpenAPI-Spezifikation. Browsergebundene Aufrufe benötigen eine Sitzung auf der Instanz.

POST
/room-scans

Requires write scope. The client-generated scan id makes exact retries idempotent. The referenced resource must have type place. RGB keyframes carry ARKit camera poses and intrinsics in the scan's coordinate space; each JPEG part name must match its metadata fileField.

Authentifizierung

bearerAuth
headerAuthentifizierungBearer <inv_ token>

Header-Parameter

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

Anfrageinhalt

multipart/form-data
  1. body
id*string
Formatuuid
roomResourceId*string
Formatuuid
capturedAt*string
Formatdate-time
deviceModel?string
Längelength <= 120
structureId?string

Groups this room into a building. The first upload may create this id.

Formatuuid
structureName?string
Länge1 <= length <= 240
coordinateSpaceId?string

Shared by rooms captured or relocalized in the same ARKit world frame. Never reuse it for independently captured coordinate systems.

Formatuuid
floorIdentifier?string
Länge1 <= length <= 120
floorIndex?integer
Bereich-1000 <= value <= 10000
roomIdentifier?string
Länge1 <= length <= 120
georeference?string

UTF-8 JSON encoding of SpatialGeoreference for this coordinate space.

scene*string

UTF-8 JSON encoding of the RoomScene schema.

worldMap*file

NSSecureCoding archive of the ARWorldMap used for later relocalization.

Formatbinary
model*file

Original RoomPlan USDZ mesh.

Formatbinary
structureModel?file

Optional combined multi-room USDZ model produced by StructureBuilder.

Formatbinary
guideImage?file
Formatbinary
keyframes?string

UTF-8 JSON array of at most 32 RoomCameraKeyframeInput records. Each record references one JPEG multipart field named keyframe:.

texturedMesh?file

Optional self-contained, bounded GLB v2 textured room mesh whose vertices are already in the scan's ARKit world frame in metres (model/gltf-binary, maximum 80 MB). External resources, unsafe accessor ranges/counts, oversized embedded textures, and unsupported required codecs are rejected.

Formatbinary
gaussianSplat?file

Optional bounded binary-little-endian, vertex-only PLY Gaussian Splat whose vertices are already in the scan's ARKit world frame in metres (maximum 80 MB).

Formatbinary

Antwortinhalt

Exact scan-id replay; no duplicate revision was created

application/json
  1. response
id*string
Formatuuid
replayed*boolean
Beispielanfrage
curl -X POST 'https://inventory.example.com/api/v1/room-scans' \  -F 'id=497f6eca-6276-4993-bfeb-53cbbbba6f08' \  -F 'roomResourceId=29c37f2c-728b-44dd-849d-5ffb318c25fb' \  -F 'capturedAt=2019-08-24T14:15:22Z' \  -F 'scene=string' \  -F 'worldMap=string' \  -F 'model=string'
Beispielantwort
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "replayed": true}