A digital twin, metadata and access to assets associated with a 3D model of a space.

GraphQL Schema definition

  • type Model implements ModelSummary {
  • id: ID!
  • internalId: ID
  • organization: ID
  • created: DateTime
  • modified: DateTime
  • name: String
  • description: String
  • image: Photo
  • address: Address
  • geolocation: GeoLocation
  • # @deprecated 05/17/2023
  • # Total dimension estimates for the model.
  • #
  • # Arguments
  • # units: undefined
  • dimensions(units: Units): Dimension
  • # @beta This is part of the Property Insights Beta
  • # Dimension estimates based on the collected data from rooms in this model.
  • #
  • # Arguments
  • # units: undefined
  • dimensionEstimates(units: Units): Dimensions
  • # Overall state of the model
  • state: ModelState
  • # Who is allowed to see this model.
  • visibility: ModelVisibility
  • # Whether the model is a demo model. Demo models are the only models accessible in
  • # sandbox mode.
  • demo: Boolean
  • # Lists the floors associated with the model, optionally filtering by id.
  • # If any of the ids do not exist they will not appear in the returned list.
  • # The returned list may be empty if there are no matches.
  • #
  • # Arguments
  • # ids: If specified only floors with the given ids will be
  • # included.
  • floors(ids: [ID!]): [ModelFloor!]
  • # Optional MLS info associated with this model.
  • mls: ModelMlsDetails
  • # Information about additional options that may be / are enabled form this model.
  • options: ModelOptions
  • # Information about the current progress while the model is being processed.
  • # This will not be available if the model is `staging`.
  • # This will not change if the model is not `processing`.
  • processing: ModelProcessingDetails
  • # Settings displayed for public models.
  • publication: ModelPublicationDetails
  • # Lists the rooms associated with the model,
  • # optionally filtering by id and/or tags.
  • #
  • # If any of the ids do not exist they will not appear in the returned list.
  • #
  • # The returned list may be empty if there are no matches.
  • #
  • # When specifying tags rooms will be returned that
  • #
  • # * have all the listed tags
  • #
  • # * may have additional tags
  • #
  • # In order to craft a query to get all models with tag a or tag b, graph labels
  • # must be used, like:
  • #
  • # {
  • #
  • # baths: rooms(tags: "bathroom") { ... }
  • #
  • # bedrooms: rooms(tags: "bedroom") { ... }
  • # }
  • #
  • # Arguments
  • # ids: undefined
  • # tags: undefined
  • rooms(ids: [ID], tags: [String]): [ModelRoom!]
  • # Retrieves a single view by id or type.
  • # In general only one or the other should be specified, however if both are
  • # specified
  • # then the view with the given id must be of the specified type or a 'not.found'
  • # error will
  • # be returned.
  • #
  • # Note that there is often a single view of a given type
  • # (like matterport.workshop.session), however that isn't guaranteed.
  • #
  • # @error not.found If no view with the given id and/or type exists.
  • # @error not.unique If multiple views of the given type exist on this model.
  • # @error request.invalid If neither id nor type are specified.
  • #
  • # Arguments
  • # id: undefined
  • # type: undefined
  • view(id: ID, type: ID): ModelView
  • # All the available views associated with this
  • # Model. Note that the current Model will always
  • # show up as one of the options.
  • #
  • # Arguments
  • # ids: If specified only views with the given ids
  • # will be included.
  • # An empty array will be considered the same as
  • # unspecified and return all views that match the
  • # other criteria.
  • # types: If specified only views of the given
  • # types will be included.
  • # enabled: If specified filter by enabled status.
  • #
  • # * unspecified - views will be included regardless of enabled/disabled
  • #
  • # * true - only enabled views will be included
  • #
  • # * false - only disabled (enabled=false) views will be included
  • views(ids: [ID!], types: [String!], enabled: Boolean): [ModelView!]
  • # Get information about user(s) who have uploaded given model
  • uploaders: [UserMetadata]
  • # Ordered Folder Path List for a model. Folder with the greatest depth should
  • # always be the direct parent of this model
  • # Note: this is only available to organizations with Folder Graph APIs enabled
  • folders: [Folder!]
  • # Get all the users with their role that can access given model
  • # @beta
  • # @deprecated v2023.06.28 use access_v2 instead
  • #
  • # Arguments
  • # filters: Filter results based on the parameter provided. If not
  • # specified, all access information is returned. If more than
  • # one value is given, result will be a union between these values.
  • # orderBy: Choose a field to order by. If not specified,
  • # AccessInfoOrder.USER_EMAIL is default.
  • # sortOrder: Choose a sort order. If not specified, ascending
  • # order is default.
  • # pageSize: Desired number of entries in a page of results. If
  • # not specified, default will be 10
  • # offset: The offset value to apply, if omitted will start with
  • # the first matching result. The result list's
  • # 'nextOffset' property provides the offset value for the next page of results.
  • access(
  • filters: [ModelAccessFilter!],
  • orderBy: AccessInfoOrder,
  • sortOrder: SortOrder,
  • pageSize: Int,
  • offset: String
  • ): AccessInfoList
  • # Get the model's specific billing information.
  • billingInformation: ModelBillingInformation
  • # Lists the Labels associated with this model.
  • #
  • # Arguments
  • # includeDisabled: Include Labels which are currently disabled in
  • # the public view of the model.
  • # Default: false
  • labels(includeDisabled: Boolean): [Label!]
  • # Lists the Mattertags associated with this model.
  • #
  • # Arguments
  • # includeDisabled: Include Mattertags which are currently
  • # disabled in the public view of the model.
  • # Default: false
  • mattertags(includeDisabled: Boolean): [Mattertag!]
  • # Lists the measurements associated with this model.
  • #
  • # @deprecated Use measurementPaths instead, this field is no longer populated as
  • # of v2020.11.05.
  • #
  • # Arguments
  • # includeDisabled: Include measurements which are currently
  • # disabled in the public view of the model.
  • # Default: false
  • measurements(includeDisabled: Boolean): [Measurement!]!
  • # Lists the measurement paths associated with this model.
  • #
  • # Arguments
  • # includeDisabled: Include measurement paths which are currently
  • # disabled in the public view of the model.
  • # Default: false
  • measurementPaths(includeDisabled: Boolean): [MeasurementPath!]!
  • # Lists the notes associated with this model.
  • #
  • # Arguments
  • # includeDisabled: Include notes which are currently disabled in
  • # the public view of the model.
  • # Default: false
  • # resolutionStatus: Only include notes whose resolutions matches
  • # the provided status.
  • # ids: Only include notes whose ids match the selected values.
  • notes(
  • includeDisabled: Boolean,
  • resolutionStatus: [ResolutionStatus!],
  • ids: [ID!]
  • ): [Note!]
  • # List the InferenceEvents associated with this model.
  • # Each InferenceEvent run in the vision pipeline generates a collection of
  • # ObjectAnnotations to mark detected objects.
  • # These object detections, as well as metadata surrounding the InferenceEvent can
  • # be found in the asset associated with this InferenceEvent.
  • # @beta This field is part of a limited access beta.
  • #
  • # Arguments
  • # ids: Only include inference events by a given ID
  • inferenceEvents(ids: [ID!]): [InferenceEvent!]
  • # List ObjectClassifications available for object detection.
  • # @beta This field is part of a limited access beta.
  • objectClassifications: [ObjectClassification!]
  • # Lists the ObjectAnnotations associated with this model.
  • # @beta This field is part of a limited access beta.
  • #
  • # Arguments
  • # inferenceEvents: Only inlcude detections from a particular set
  • # of inference events.
  • # If none is specified, ObjectAnnotations from all InferenceEvents will be
  • # returned.
  • # ids: Only include ObjectAnnotations by a given ID.
  • # If none is specified, ObjectAnnotations of all ids will be returned.
  • # includeDisabled: Include ObjectAnnotations which are currently
  • # disabled.
  • # Default: false
  • # minimumConfidenceOverride: Override the minimum confidence
  • # level of objects to return.
  • # includeUserCreated: Include ObjectAnnotations created by users
  • # Default: true
  • # mostRecentPerClassificationModel: Only include the
  • # ObjectAnnotations from the most recent run and version of
  • # a given object detection classification model.
  • # Default: true
  • objectAnnotations(
  • inferenceEvents: [ID!],
  • ids: [ID!],
  • includeDisabled: Boolean,
  • minimumConfidenceOverride: Float,
  • includeUserCreated: Boolean,
  • mostRecentPerClassificationModel: Boolean
  • ): [ObjectAnnotation!]
  • # A container for retrieving different types of assets from the model.
  • #
  • # @error model.inactive If the model is currently archived.
  • assets: ModelAssets
  • # Retrieve a specific bundle by id.
  • # If no such bundle exists then an
  • # error with code: 'not.found' will
  • # appear in the errors section.
  • #
  • # @error not.found: If no bundle with the given id exists.
  • #
  • # Arguments
  • # id: undefined
  • bundle(id: ID!): ModelBundle
  • # List all of the bundles that may
  • # be associated with this model.
  • #
  • # Arguments
  • # availability: If unspecified all bundles will be returned.
  • # Otherwise only bundles with the matching availability
  • # will be returned.
  • # If no bundles with the given `availability` exist
  • # an empty array will be returned.
  • bundles(availability: Availability): [ModelBundle!]
  • # Fetch the active highlight reel associated with this model.
  • activeHighlightReel: HighlightReel
  • # List all highlight reels associated with this model.
  • highlightReels: [HighlightReel!]!
  • # Locations of interest within the model. This is generally used to render
  • # waypoints to navigate through a model.
  • #
  • # Arguments
  • # ids: If specified only locations with the given ids will be
  • # included.
  • # If the same id is repeated the location will only appear in the result list
  • # once.
  • # If no location with a given id exists there will be no corresponding entry in
  • # the list.
  • # tags: If specified only locations that contain all the
  • # specified tags will be included.
  • locations(ids: [String!], tags: [String!]): [AnchorLocation]
  • # Locations within the model that have a panoramic image associated with them.
  • # The location is the position of the camera showing the panorama and is usually
  • # associated with an anchor location that should be used for navigation.
  • #
  • # Arguments
  • # ids: If specified only locations with the given ids will be
  • # included.
  • # If the same id is repeated the location will only appear in the result list
  • # once.
  • # If no location with a given id exists there will be no corresponding entry in
  • # the list.
  • # variants: If specified only return locations that match one of
  • # the specified variants.
  • panoLocations(ids: [String!], variants: [String!]): [PanoramicImageLocation!]
  • }

Require by