This endpoint is used to run the transformation based on an already created configuration. Sending a post request will submit a background processing job that is able to report progress back to the same transformation instance that you can query by the transformation ID.
First run of the transformation will process the whole source iModel and push data to the target iModel. Only one transformation job can run on the same target iModel at the same time. Consecutively submitted jobs for the same configurationId will only process changes to the source iModel.
Transformation status
Transformation status
parameter provides information about the current status of a transformation. The status can have one of the following values:
-
Created
- this status is assigned when the transformation is created, but background job has not started yet. Once the background job is started, initialization begins. -
Initializing
- a transformation in theInitializing
status means that the background job has been started and is preparing to run the transformation. This process involves downloading all the necessary iModels and setting up other parameters as required by the transformation. -
Started
- when the transformation background job starts processing the iModel elements based on the transformation configuration, the status changes toStarted
. You can monitor the progress of the transformation during this stage by tracking the count of processed elements. This count allows you to estimate when the transformation might finish. -
Succeeded
- upon successful completion of the transformation, the status is set toSucceeded
. This means all iModel elements have been processed as per the transformation configuration without any errors. -
Failed
- if an error occurs during the transformation process (while in theInitializing
orStarted
statuses), the status changes toFailed
. This indicates that the transformation has ended prematurely and would leave the target iModel in an invalid state if any intermediate changes were pushed. If the transformation is in an invalid state, it is necessary to use a new target iModel in order to proceed with further transformations. -
Aborted
- a transformation is labeled asAborted
when it is manually cancelled by the user. Note that a transformation cannot be cancelled if it has already finished (its status is eitherFailed
orSucceeded
).
Transformation error code
Transformation errorCode
parameter provides information about error which occurred during transformation.
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
You must have imodels_write
assigned at the target project level and imodels_read
assigned at the source project level within related configuration. If permissions at the project level are not configured, then you must have same assigned at the iModel level.
Alternatively, you must be an Organization Administrator for the Organization that owns a given project the iModel belongs to.
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 see 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.
Transformation Element Limiting
When you run a transformation with the "Try it out" function, you are limited to transforming iModels with up to 1000 entities, which includes elements and relationships. For more information about entities, see Element Fundamentals and Relationship Fundamentals. If an iModel has more than 1000 entities, transformation will not succeed. To transform iModels without any limits, please generate authorization for a different client and call this endpoint directly or add the newly generated authorization value to a Authorization
field. For more information about using your own client, see Authorize Service.