iModels Share API provides a way to publicly share an iModel. Each Share instance has a shareKey property which allows anonymous access to the shared iModel using iModels API.
To use the shareKey to access the iModel one has to provide shareKey via Authorization header: Authorization: Basic {shareKey}, when calling iModels API.
All Share operations interact only with the Share instances that the calling user has created. E.g. querying iModel Shares will not return all the Shares iModel has, but only the Shares which were created by the user who is calling the API.
User must have imodels_webview permission assigned at the iModel level. If iModel Role permissions at the iModel level are configured, then user must additionally have at least imodels_webview permission assigned at the iTwin level. If permissions at the iModel level are not configured, then user must have imodels_webview permission assigned at the iTwin level.
Alternatively the user should be an Organization Administrator for the Organization that owns a given iTwin the iModel belongs to.
For more information please refer to Account Administrator documentation section on Access Control API documentation page.
Important: Share operations are in closed preview mode currently. Hence only selected applications can utilize the Share API.
A universal datetime value specifying until when the Share will be valid. It is recommended to use ISO 8601 format specification e.g. 2022-10-01T15:35:35.7777777Z. Cannot be set further into the future than 6 months.
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
HeaderNotFound
{"error":{"code":"HeaderNotFound","message":"Header Authorization was not found in the request. Access denied."}}
The 422 (Unprocessable Entity) status code indicates that the request cannot be processed by the server due to a client error (e.g. malformed request syntax)
json
InvalidiModelsRequest
{"error":{"code":"InvalidiModelsRequest","message":"Cannot update Share.","details":[{"code":"InvalidValue","message":"Provided 'expiresAt' value is not valid. Expected a value of type 'string'.","target":"expiresAt"},{"code":"MissingRequiredProperty","message":"Required property is missing.","target":"expiresAt"},{"code":"InvalidRequestBody","message":"Failed to parse request body. Make sure it is a valid JSON."}]}}
A universal datetime value specifying until when the Share will be valid. It is recommended to use ISO 8601 format specification e.g. 2022-10-01T15:35:35.7777777Z. Cannot be set further into the future than 6 months.
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.