Table of contents
Changed Elements
Download API definition:
PUT https://api.bentley.com/changedelements/tracking

Enables or disables change tracking for an iModel. This operation requires you to pass the enable value, iModel Id and project Id in the body of the request as a JSON object.

Once enabled, when creating a new named version of an iModel, or when a changeset group completes, the changesets are processed to find all changed elements. You can then request this data using the GET /comparison operation.

Authentication

Requires Authorization header with valid Bearer token for scope changedelements:modify.

For more documentation on authorization and how to get access token visit OAUTH2 Authorization page.

Request headers

Name
Required?
Description
Authorization
Yes

OAuth access token with scope changedelements:modify

Accept
Yes

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

The body should contain a JSON object with the enable value, iModel Id and project Id.

Request body

enable-tracking-body

Name
Type
Required?
Description
enable
Boolean
No
iModelId
String
No
iTwinId
String
No

Example

json
{
    "enable": true,
    "iModelId": "0ddddddc-6dd3-4aaa-9aaa-ecaaaaaa9bd6",
    "projectId": "5ddddddc-6dd3-4aaa-9aaa-ecaaaaaa9bd6"
}

Response 202 Accepted

Change tracking for iModel was updated successfully.

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 403 Forbidden

The user has insufficient permissions for the requested operation.

json
{
    "error": {
        "code": "InsufficientPermissions",
        "message": "The user has insufficient permissions for the requested operation."
    }
}

Response 404 Not Found

This response indicates that disabling change tracking is not possible because the iModel is not valid.

json
{
    "error": {
        "code": "IModelNotFound",
        "message": "Requested iModel is not available."
    }
}

Response 422 Unprocessable Entity

A URL parameter was malformed or the body of the request is invalid.

json
{
    "error": {
        "code": "InvalidChangedElementsRequest",
        "message": "Could not enable or disable change tracking.",
        "details": [{
                "code": "InvalidRequestBody",
                "message": "The request body is not valid JSON."
            },
            {
                "code": "MissingRequiredProperty",
                "message": "Required property is missing.",
                "target": "iModelId"
            },
            {
                "code": "MissingRequiredProperty",
                "message": "Required property is missing.",
                "target": "projectId"
            },
            {
                "code": "MissingRequiredProperty",
                "message": "Required property is missing.",
                "target": "enable"
            },
            {
                "code": "InvalidValue",
                "message": "'abc' is not a valid 'iModelId'.",
                "target": "iModelId"
            },
            {
                "code": "InvalidValue",
                "message": "'abc' is not a valid 'projectId'.",
                "target": "projectId"
            },
            {
                "code": "InvalidValue",
                "message": "'abc' is not a boolean.",
                "target": "enable"
            }
        ]
    }
}

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.

enable-tracking-body

TableSchema
Name
Type
Description
enable
Boolean
iModelId
String
iTwinId
String

Error

Contains error information.

TableSchema
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

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.

TableSchema
Name
Type
Description
error

Error information.