Skip to main content
A HolosObject is a 3D model that can be tracked during a capture session, placed in a Holos Learn course, or both. The platform maintains a library of ~3,600 CC0 (open-license) objects alongside org-private objects that admins upload themselves.

Object types

TypeDescription
Platform (CC0)Open-license objects shared across all orgs
Org-privateObjects uploaded by a specific org, visible only to that org

Supported formats

Org admins can upload models in any of these formats:
FormatNotes
GLBPrimary format, no conversion needed
USDZConverted to GLB post-upload; USDZ retained for AR
OBJConverted to GLB via Blender Lambda post-upload
FBXConverted to GLB via Blender Lambda post-upload
All uploads automatically produce a GLB for web preview and a USDZ for AR tracking where not already provided.

Making an object trackable

For an object to be tracked during a capture session, it needs a .referenceobject file — an Apple ML-trained descriptor of its geometry, generated from the USDZ mesh. The platform handles this as a processing request. When an admin links a non-trackable object to a skill, a request is automatically filed. The Holos team processes it and uploads the resulting .referenceobject file.

Key fields

FieldDescription
nameDisplay name
tagsSearchable labels
source.glbS3 key for the GLB mesh
source.usdzS3 key for the USDZ mesh
source.referenceObjectS3 key for the .referenceobject AR descriptor
glbUrlPresigned download URL for GLB
usdzUrlPresigned download URL for USDZ
referenceObjectUrlPresigned download URL for .referenceobject
thumbnailUrlPresigned URL for the thumbnail image
approvalStatuspending · approved · rejected
conversionStatuspending · processing · complete · failed

Endpoints

  • GET /api/org/:orgId/objects — list objects (platform + org-private)
  • GET /api/org/:orgId/objects/by-ids/:ids — batch fetch by _id
  • POST /api/org/:orgId/objects/upload — initiate an org object upload
  • PATCH /api/org/:orgId/objects/:objectId — update name, tags, approval status