Creates an iModel Fork. An iModel Fork is a new iModel which is a full or partial clone of the source iModel, but the difference between an iModel Fork and an iModel clone is that Fork iModels can be edited and then merged back to the source iModel.
Relationship between source and Fork iModels
An iModel Fork is a valid standalone iModel. An iModel Fork is not deleted if the source iModel is deleted.
When the iModel forking process is completed, no new changes are synchronized to the iModel Fork from the source iModel.
iModel Create Operation Details operation can be used to determine if the current iModel is a Fork.
iModel Fork content and metadata
The iModel Fork name and description can be specified when forking an iModel, by default name and description are taken from the source iModel. iModel extent is always taken from the source iModel.
iModel Baseline is always copied from the source iModel to the iModel Fork. User can specify until which point Changesets should be copied to the iModel Fork, by default all source iModel Changesets are copied. The rest of source iModel entities are not copied.
Operation state
Forking an iModel is an asynchronous operation. To check the status of the operation please follow the link present in Create-iModel-Operation
response header. The link points to Get Create iModel Operation details endpoint of the iModel Fork. When the iModel Fork's Create Operation state
property is set to successful
it means the forking process is complete and iModel is ready to be used.
sourceIsMissingFederationGuids
state
If state
returned by Get Create iModel Operation details is equal to sourceIsMissingFederationGuids
, it means that iModel Fork creation failed because some elements in the source iModel do not have FederationGuid property set. In order to proceed users must populate missing FederationGuid values and retry the iModel Fork creation request.
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 following permissions:
imodels_manage
permission at the source iModel iTwin level.imodels_manage
permission at the iTwin, in which the iModel Fork will be created, level.
If source iModel has iModel level permissions configured, then user must have at least imodels_webview
permission assigned.
Alternatively the user should be an Organization Administrator both for the Organization that owns source iModel iTwin and the Organization that owns the Fork iModel 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.
Important: Fork iModel operation is in closed preview mode currently and only selected applications can utilize it.
Rate limits
This operation has a lower rate limit than the rest of iModels API operations. If an application exceeds the rate limit it will receive an HTTP error code 429 "Too Many Requests". The error response includes a Retry-After header that indicates how long clients should wait before retrying.