Table of contents
Clash Detection

Clash Detection Suppression Rules

Download API definition:

POST https://api.bentley.com/clashdetection/suppressionrules

Creates a clash detection suppression rule for the specified criteria and returns the rule id.

Authentication

Requires Authorization header with valid Bearer token for scope clashdetection:modify or itwin-platform.

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 clashdetection:modify or itwin-platform scope

Accept
Yes

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

Request body

Create Clash Detection Suppression Rule

Name
Type
Required?
Description
displayName
String
Yes

The name of the suppression rule.

reason
String
Yes

The description of the suppression rule.

parameters
Object
Yes

The parameters of the suppression rule must match the parameters of the template.

templateId
String
Yes

The template id of the suppression rule.

Example

json
{
    "projectId": "38b7e366-bc20-4bb1-9572-0797cf5221fd",
    "displayName": "TestRule1",
    "reason": "test rule",
    "templateId": "ZuO3OCC8sUuVcgeXz1Ih_SwYDAjOyeZEmTLenwmL77w",
    "parameters": {
        "propertyKey": {
            "relationshipPath": "ArchitecturalPhysical:Door",
            "propertyName": "Roll"
        },
        "operator": {
            "value": "="
        }
    }
}

Response 201 Created

Created

json
{
    "suppressionRule": {
        "id": "ZuO3OCC8sUuVcgeXz1Ih_bY3PLfjqRhEhbD1lD18eZU",
        "displayName": "PV-rule-3",
        "templateId": "ZuO3OCC8sUuVcgeXz1Ih_SwYDAjOyeZEmTLenwmL77w",
        "reason": "PV rule 3",
        "parameters": "{\"propertyKey\":{\"relationshipPath\":\"ArchitecturalPhysical:Door\",\"propertyName\":\"Roll\"},\"operator\":{\"value\":\"=\"}}",
        "_links": {
            "self": {
                "href": "https://api.bentley.com/clashdetection/suppressionrules/ZuO3OCC8sUuVcgeXz1Ih_bY3PLfjqRhEhbD1lD18eZU"
            },
            "createdBy": {
                "href": "https://api.bentley.com/accesscontrol/itwins/38b7e366-bc20-4bb1-9572-0797cf5221fd/members/fd4c4a79-e24a-4b35-9faf-f4fa6f4fa62b"
            }
        }
    }
}

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 404 Not Found

This response indicates that the specified project was not found.

json
{
    "error": {
        "code": "ProjectNotFound",
        "message": "Requested project is not available."
    }
}

Response 422 Unprocessable Entity

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
{
    "error": {
        "code": "InvalidClashDetectionRequest",
        "message": "Invalid clash detection request.",
        "details": [{
                "code": "InvalidRequestBody",
                "message": "Required property 'displayName' is missing in the request body.",
                "target": "displayName"
            },
            {
                "code": "InvalidRequestBody",
                "message": "Required property 'reason' is missing in the request body.",
                "target": "reason"
            },
            {
                "code": "InvalidRequestBody",
                "message": "Required property 'templateId' is missing in the request body.",
                "target": "templateId"
            },
            {
                "code": "InvalidRequestBody",
                "message": "Required property 'parameters' is missing in the request body.",
                "target": "parameters"
            },
            {
                "code": "InvalidRequestBody",
                "message": "The request is invalid."
            },
            {
                "code": "InvalidRequestBody",
                "message": "Request body was not provided."
            },
            {
                "code": "InvalidRequestBody",
                "message": "The request body is not a valid JSON object."
            }
        ]
    }
}

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.

Create Clash Detection Suppression Rule

Specify the rule criteria to create a suppression rule.

TableSchema
Name
Type
Description
displayName
String

The name of the suppression rule.

reason
String

The description of the suppression rule.

parameters
Object

The parameters of the suppression rule must match the parameters of the template.

templateId
String

The template id of the suppression rule.

Clash Detection Suppression Rule

TableSchema
Name
Type
Description
id
String

The id of the suppression rule.

displayName
String

The name of the suppression rule.

templateId
String

The template id of the suppression rule.

reason
String

The reason for the suppression rule.

parameters
String

The parameters for the suppression rule.

_links

The links to get the related suppression rule response links.

Clash Detection Suppression Rule Links

TableSchema
Name
Type
Description
self

The link to get the suppresion rule.

createdBy

The link to get user details of the user that created the test.

Link

Hyperlink container.

TableSchema
Name
Type
Description
href
String

Hyperlink container.

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.