Table of contents
Synchronization
Download API definition:
This operation is a Technical Preview and is available for testing purposes only. Do not use in production.
POST https://api.bentley.com/synchronization/configurations/itwins/{itwinid}

Create a configuration that defines how data is processed and synced to iModels in the specific iTwin.

Configurations

uploadDgnRealityData

Enables reality data upload to Reality Data API while synchronizing files to iModels, if .3sm, .3mx, .pod, or raster attachments are attached to CAD data. The default value is true.

Having this configuration set to true will trigger credit usage for Reality Data service.

convertDgnTerrainModels

Enables terrain model elements to be processed during dgn-based synchronizations. The default value is false.

squashIntermediateRevisions

Enables the creation of a single Changeset for physical and drawing elements (2D, 3D) coming from all Source Files. Separate Changesets will be pushed for any schema or definition changes. The default value is false.

Use case example: minimize a linear timeline of the iModel changes. However, in this case, you would not be able to get information on individual Source File changes.

convertDgnHyperModelingSections

Enables displaying the 2D section graphics and annotations in the context of the 3D model. The default value is true.

Use case example: typical design files include hypermodels, and the intent is to expose such information in a viewer. Refer to the sample of how to navigate between the 2D and 3D views easily: sample

skipRvtReprojection

Ignores geo-location defined in .rvt file and overlaps the model at the local iModel coordinates. The default value is false.

This configuration will have no effect if Revit was the first file synchronized to an empty iModel.

Use case example: multiple Revit files will need to be synchronized; if individual files are not aligned to the exact location, this configuration will bring all the models to the same place. However, we suggest enhancing the original design files with proper geographic coordinate systems before synchronization instead of using this configuration.

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.

Request parameters

Name
Required?
Description
itwinid
Yes

iTwin Id

Request headers

Name
Required?
Description
Authorization
Yes

OAuth access token with itwin-platform scope

Accept
Yes

Setting to application/vnd.bentley.itwin-platform.v1+json is recommended.

Request body

iTwin configuration

Name
Type
Required?
Description
uploadDgnRealityData
Boolean
No

Enables reality data upload to Reality Data API while synchronizing files to iModels, if .3sm, .3mx, .pod, or raster attachments are attached to CAD data. The default value is true.

convertDgnTerrainModels
Boolean
No

Enables terrain model elements to be processed during dgn-based synchronizations. The default value is false.

squashIntermediateRevisions
Boolean
No

Enables the creation of a single Changeset for physical and drawing elements (2D, 3D) coming from all Source Files. Separate Changesets will be pushed for any schema or definition changes. The default value is false.

skipRvtReprojection
Boolean
No

Ignores geo-location defined in .rvt file and overlaps the model at the local iModel coordinates. The default value is false.

convertDgnHyperModelingSections
Boolean
No

Enables displaying the 2D section graphics and annotations in the context of the 3D model. The default value is true.

Example

json
{
    "uploadDgnRealityData": true,
    "convertDgnTerrainModels": false,
    "squashIntermediateRevisions": false,
    "skipRvtReprojection": false,
    "convertDgnHyperModelingSections": true
}

Response 201 Created

Configuration successfully created.

json
{
    "configuration": {
        "scopeId": "7dbd531d-6967-47b2-8945-a722a437ad7a",
        "settings": {
            "uploadDgnRealityData": true,
            "convertDgnTerrainModels": false,
            "squashIntermediateRevisions": false,
            "skipRvtReprojection": false,
            "convertDgnHyperModelingSections": true
        },
        "resolvedSettings": {
            "uploadDgnRealityData": true,
            "convertDgnTerrainModels": false,
            "squashIntermediateRevisions": false,
            "skipRvtReprojection": false,
            "convertDgnHyperModelingSections": true
        }
    }
}

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.

json
{
    "error": {
        "code": "HeaderNotFound",
        "message": "Header Authorization was not found in the request. Access denied."
    }
}

Response 409 Conflict

A configuration already exists.

json
{
    "error": {
        "code": "ConfigurationAlreadyExists",
        "message": "A configuration already exists for the specified itwinid."
    }
}

Response 422 Unprocessable Entity

Invalid request to create a configuration. Request payload might be missing some of the required properties.

json
{
    "error": {
        "code": "InvalidConfigurationRequest",
        "message": "Cannot perform operation.",
        "details": [{
                "code": "InvalidRequestBody",
                "message": "Error parsing JSON, malformed JSON."
            },
            {
                "code": "InvalidValue",
                "message": "Provided itwinid value is not valid.",
                "target": "itwinid"
            }
        ]
    }
}

Response 429 Too many requests

This response indicates that the user has sent too many requests in a given amount of time.

json
{
    "error": {
        "code": "TooManyRequests",
        "message": "More requests were received than the subscription rate-limit allows."
    }
}

Response headers

Name
Description
retry-after

The number of requests exceeds the rate-limit for the client subscription.

Configuration response

Name
Type
Description
configuration

Configuration entity

Configuration

Name
Type
Description
scopeId
String

Scope Id

settings

Configuration settings

resolvedSettings

Configuration resolved settings

iTwin configuration

Name
Type
Description
uploadDgnRealityData
Boolean

Enables reality data upload to Reality Data API while synchronizing files to iModels, if .3sm, .3mx, .pod, or raster attachments are attached to CAD data. The default value is true.

convertDgnTerrainModels
Boolean

Enables terrain model elements to be processed during dgn-based synchronizations. The default value is false.

squashIntermediateRevisions
Boolean

Enables the creation of a single Changeset for physical and drawing elements (2D, 3D) coming from all Source Files. Separate Changesets will be pushed for any schema or definition changes. The default value is false.

skipRvtReprojection
Boolean

Ignores geo-location defined in .rvt file and overlaps the model at the local iModel coordinates. The default value is false.

convertDgnHyperModelingSections
Boolean

Enables displaying the 2D section graphics and annotations in the context of the 3D model. The default value is true.

User defined connector settings

Name
Type
Description
uploadDgnRealityData
Boolean

Enables reality data upload to Reality Data API while synchronizing files to iModels, if .3sm, .3mx, .pod, or raster attachments are attached to CAD data. The default value is true.

convertDgnTerrainModels
Boolean

Enables terrain model elements to be processed during dgn-based synchronizations. The default value is false.

enableSheetsAndDrawings
Boolean

Controls sheets and drawings synchronization. The default value is false.

enableC3dGraphsIn2dModel
Boolean

Separates Civil3d Connector 2D elements from 3D elements in the target iModel. The 2D elements will be inserted into a graph model while the 3D elements will be kept in the spatial model. The default value is false.

squashIntermediateRevisions
Boolean

Enables the creation of a single Changeset for physical and drawing elements (2D, 3D) coming from all Source Files. Separate Changesets will be pushed for any schema or definition changes. The default value is false.

skipRvtReprojection
Boolean

Ignores geo-location defined in .rvt file and overlaps the model at the local iModel coordinates. The default value is false.

convertDgnHyperModelingSections
Boolean

Enables displaying the 2D section graphics and annotations in the context of the 3D model. The default value is true.

clampZExtent
Boolean

Enables a limit for the project Z extent maximum up to Mount Everest height (i.e.8849 meters). Works only when project extent in XY direction is defined for iModel. The default value is false.

overrideRvtReprojectionDistance
Integer

Define distance in meters when to start ignoring .rvt file geo-location data and reprojecting graphics based on local iModel coordinates. The default value is 0.

enableSheetIndex
Boolean

Enables processing of sheet index files from the associated workspace.

filterBySheetIndex
Boolean

Enables a limit for the processing of sheets provided to the connector to the ones specified in the sheet index.

reclassifyDgnElements
Boolean

Enables connector to change the base class of an element if its current classification comes from the Generic schema. The default value is false.

ignoreDgnAttachments
Boolean

Enables skipping of all reference attachments. As a result, only the master file is synchronized into the iModel. Only applicable for .dgn and .dwg files. The default value is false.

Error

Contains error information.

Name
Type
Description
code
String

One of a server-defined set of error codes.

message
String

A human-readable representation of the error.

target
String, null

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.

Name
Type
Description
error

Error information.