For the complete documentation index, see llms.txt. This page is also available as Markdown.

Object Upload

Create an object tracking target by posting object metadata and uploading the 3D model to the returned presigned URL.

To create a new Object for tracking using the upload API, make a POST request to /v1/vps/object with your authentication token, providing the object name, tracking type (full for 360-degree tracking or side for side-view only), and source details including the file type (glb), provider (web), and coordinate system (RHS for right-handed or LHS for left-handed).

The API will respond with a pre-signed S3 upload URL, unique object ID, and object code.

Objects are now uploaded as a .zip. Package your .glb mesh into a zip archive and PUT it to the returned uploadUrl with Content-Type: application/zip. Once uploaded, the system automatically unpacks the archive and processes the model for Object tracking. (The source.fileType in your request stays glb. Only the upload container is a zip.)

Once uploaded, the system will automatically process the model for Object tracking.

Create Object & Get Upload URL

post

Creates an object and returns a presigned uploadUrl. Package your .glb mesh into a .zip archive and PUT it to uploadUrl with Content-Type: application/zip. Processing for object tracking starts automatically once the upload completes.

Authorizations
AuthorizationstringRequired

JWT token obtained from the authentication endpoint.

Body
objectNamestringRequiredExample: Fire Extinguisher
trackingTypestring · enumRequired

full for 360° tracking, side for side-view only.

Possible values:
Responses
201

Object created; upload the zipped model to uploadUrl.

application/json
messagestringOptionalExample: Object Created Successfully
objectCodestringOptionalExample: OBJ_9F2K1ABCD3
objectIdstringOptional
uploadUrlstringOptional

Presigned URL. PUT the .zip with Content-Type application/zip.

post/object
POST /v1/vps/object HTTP/1.1
Host: api.multiset.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 126

{
  "objectName": "Fire Extinguisher",
  "trackingType": "side",
  "source": {
    "provider": "web",
    "fileType": "glb",
    "coordinateSystem": "LHS"
  }
}
{
  "message": "Object Created Successfully",
  "objectCode": "OBJ_9F2K1ABCD3",
  "objectId": "text",
  "uploadUrl": "text"
}

Last updated

Was this helpful?