Creates a reality data.
As shown in the request section below, you must provide a request body.
You MUST provide the displayName
and type
properties.
The rootDocument
property is not required but highly recommended. It is the entry point for consuming applications to read the content of the Reality Data. See RootDocument property
For more details on each property, see Reality Data Properties in documentation.
After creation, the reality data will be associated to the specified iTwin.
Authentication
Requires Authorization
header with valid Bearer token for scope itwin-platform
.
For more documentation on authorization and how to get access token visit OAUTH2 Authorization page.
Authorization
User must have the realitydata_create
permission assigned at the iTwin level or be an Organization Administrator for the Organization that owns a given iTwin.
An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities Licensing, Cloud, and Web Services wiki page.
Rate limits
All iTwin Platform API operations have a rate limit. For more documentation on that visit Rate limits and quotas page.
Request headers
OAuth access token with itwin-platform
scope
Setting to application/vnd.bentley.itwin-platform.v1+json
is recommended.
Request body
Reality Data
Id of associated iTwin.
Name of the reality data.
Specific value constrained field that indicates the nature of the reality data. Allowed values: 'Terrain', 'Imagery', 'Pinned', 'Model', 'Undefined'
A key indicating the format of the data. Valid values include '3MX', 'PointCloud', RealityMesh3DTiles', … See documentation for an exhaustive list of registered reality data types.
Description of the reality data.
Any string identifier which you can assign to reality data to identify it.
This field can be used to define a loose grouping of reality data. This property may not contain any control sequence such as a URL or code.
The group can be used to define a second level of grouping. This property may not contain any control sequence such as a URL or code.
Used to indicate the root document of the reality data.
A boolean value that is true if the data is being created. It is false if the data has been completely uploaded.
Identifier of the owner of the reality data.
Example
{ "iTwinId": "8f70cca5-2122-4912-8713-49f6cd7f17b1", "displayName": "Name of the reality data to create", "classification": "Model", "type": "3mx", "description": "Description of the reality data", "dataset": "Dataset", "group": "GroupId", "rootDocument": "Models/Scene/myModel.3mx", "tags": ["tag1", "tag2"], "acquisition": { "startDateTime": "2021-05-12T20:03:12Z", "endDateTime": "2021-05-15T22:07:18Z", "acquirer": "Data Acquisition Inc." }, "extent": { "southWest": { "latitude": 40.0206, "longitude": -75.6355 }, "northEast": { "latitude": 40.0356, "longitude": -75.6059 } }, "authoring": true }
Response 201 Created
Reality data successfully created
{ "realityData": { "id": "95d8dccd-d89e-4287-bb5f-3219acbc71ae", "displayName": "Name of reality data", "dataset": "Dataset", "group": "73d09423-28c3-4fdb-ab4a-03a47a5b04f8", "description": "Description of reality data", "rootDocument": "Directory/SubDirectory/realityData.3mx", "size": 6521212, "classification": "Model", "type": "3mx", "tags": ["tag1", "tag2"], "acquisition": { "startDateTime": "2021-05-12T20:03:12Z", "endDateTime": "2021-05-15T22:07:18Z", "acquirer": "Data Acquisition Inc." }, "extent": { "southWest": { "latitude": 38.0206, "longitude": -75.6355 }, "northEast": { "latitude": 38.0356, "longitude": -75.6059 } }, "authoring": true, "dataCenterLocation": "North Europe", "modifiedDateTime": "2021-04-09T19:03:12Z", "lastAccessedDateTime": "2021-04-09T00:00:00Z", "createdDateTime": "2021-02-22T20:03:40Z", "ownerId": "f1d49cc7-f9b3-494f-9c67-563ea5597063" } }
Response 401 Unauthorized
This response indicates that request lacks valid authentication credentials. Access token might not been provided, issued by the wrong issuer, does not have required scopes or request headers were malformed.
{ "error": { "code": "HeaderNotFound", "message": "Header Authorization was not found in the request. Access denied." } }
Response 403 Forbidden
This response indicates that user does not have required permissions to create a reality data.
{ "error": { "code": "InsufficientPermissions", "message": "The user has insufficient permissions for the requested operation." } }
Response 422 Unprocessable Entity
Invalid request to create reality data. Please ensure that the request is valid.
{ "error": { "code": "InvalidRealityDataRequest", "message": "Invalid request to create reality data. Can not create reality data.", "details": [{ "code": "InvalidValue", "message": "Invalid parameter.", "target": "type" }] } }
Response 429 Too many requests
This response indicates that the user has sent too many requests in a given amount of time.
{ "error": { "code": "TooManyRequests", "message": "More requests were received than the subscription rate-limit allows." } }
Response headers
The number of requests exceeds the rate-limit for the client subscription.
Reality Data Details
Details for a reality data
Identifier of the reality data. This identifier is assigned by the service at the creation of the reality data. It is also unique.
The name of the reality data. This property may not contain any control sequence such as a URL or code.
This field can be used to define a loose grouping of reality data. This property may not contain any control sequence such as a URL or code.
The group can be used to define a second level of grouping. This property may not contain any control sequence such as a URL or code.
A textual description of the reality data. This property may not contain any control sequence such as a URL or code.
Any string identifier which you can assign to reality data to identify it.
Used to indicate the root document of the reality data. The root document can be in a subfolder and is then specified as “Tile_Root.json” or “Folder1/SubFolder1/File.json” for example.
The size of the reality data in Kilobytes.
Specific value constrained field that indicates the nature of the reality data. The following values are currently supported: Terrain, Imagery, Pinned, Model, Undefined.
A key indicating the format of the data. The type property should be a specific indication of the format of the reality data. Given a type, the consuming software should be able to determine if it has the capacity to open the reality data. Although the type field is a free string some specific values are reserved and other values should be selected judiciously. Look at the documentation for an exhaustive list of reserved reality data types.
Provides information regarding the acquisition, such as dates and acquirer used.
A boolean value that is true if the data is being created. It is false if the data has been completely uploaded.
Identifies the data center location used to store the reality data.
ISO-8601 compliant time (UTC) of last modification of the reality data. E.g. '2017–05–10T13:43:03Z'
ISO-8601 compliant time (UTC) of last access of the reality data. E.g. '2017–05–10T13:43:03Z'
ISO-8601 compliant time (UTC) of the creation of the reality data. E.g. '2017–05–10T13:43:03Z'
Identifier of the owner of the reality data.
Reality Data Details Response
Reality data details response.
Acquisition
Details about data acquisition.
ISO-8601 compliant time (UTC) that indicates when the data acquisition started. E.g. '2017-05-10T13:43:03Z'
ISO-8601 compliant time (UTC) that indicates when the data acquisition ended. E.g. '2017-05-10T13:43:03Z'
Description of the acquirer.
Extent
Extent of a reality data, delimited by southwest and northeast coordinates.
Coordinate
Coordinate used to define an extent.
Latitude. Latitude ranges between -90 and 90 degrees, inclusive.
Longitude. Longitude ranges between -180 and 180 degrees, inclusive.
Reality Data
Request body for reality data creation.
Id of associated iTwin.
Name of the reality data.
Specific value constrained field that indicates the nature of the reality data. Allowed values: 'Terrain', 'Imagery', 'Pinned', 'Model', 'Undefined'
A key indicating the format of the data. Valid values include '3MX', 'PointCloud', RealityMesh3DTiles', … See documentation for an exhaustive list of registered reality data types.
Description of the reality data.
Any string identifier which you can assign to reality data to identify it.
This field can be used to define a loose grouping of reality data. This property may not contain any control sequence such as a URL or code.
The group can be used to define a second level of grouping. This property may not contain any control sequence such as a URL or code.
Used to indicate the root document of the reality data.
A boolean value that is true if the data is being created. It is false if the data has been completely uploaded.
Identifier of the owner of the reality data.
DetailedError
Contains error information and an array of more specific errors.
One of a server-defined set of error codes.
A human-readable representation of the error.
The target of the error.
Detailed Error Response
Gives details for an error that occurred while handling the request. Note that clients MUST NOT assume that every failed request will produce an object of this schema, or that all of the properties in the response will be non-null, as the error may have prevented this response from being constructed.
Error
Contains error information.
One of a server-defined set of error codes.
A human-readable representation of the error.
The target of the error.
Error Response
Gives details for an error that occurred while handling the request. Note that clients MUST NOT assume that every failed request will produce an object of this schema, or that all of the properties in the response will be non-null, as the error may have prevented this response from being constructed.