This method creates an execution to bulk create or update assets and relations.
Implementation notes
All id properties are intended to be your own identifiers from your source system. The method will match based on that custom identifier as long as the id values are unique across all assets within a type.
You do not have to include all properties of an asset, as long as you include required properties.
Request
Query parameters
| Key | Required | Type | Description |
|---|---|---|---|
| createPlaceholders | No | boolean | Skip creating placeholder assets if asset was not found by matching xref in relations |
| skipCalculation | No | boolean | Skip calculating asset paths for relations created from this execution |
| isTypeRefresh | No | boolean |
This parameter specifies full synchronization of all descendant assets. If set to true, all descendant items not included in this payload will be removed from your environment. If you want to skip a certain section of a hierarchy, simply include the direct child asset of the asset you marked to refresh, and all descendants under that child will remain intact. |
Request body properties
| Ancestors | Property | Required | Type | Description |
|---|---|---|---|---|
| externalExecutionId | No | string |
|
|
| xrefType | No | string |
|
|
| assets | No | array | ||
| relations | No | array | ||
| rootElement | No | string |
|
|
| importId | No | string | ||
| deleteOptions | No | object | ||
| deleteOptions | assetFilters | No | array | |
| deleteOptions | relationFilters | No | array | |
| typeRefreshAssetTypes | No | array | ||
| isBulkImport | No | boolean |
This property may be set to |
Response
Header keys
| Key | Required | Type | Description |
|---|---|---|---|
| location | No | string | URI location of the created execution. |
Response body properties
| Property | Required | Type | Description |
|---|---|---|---|
| data | object | Data envelope carrying response properties. |
Response examples
Example status code responses for this method are shown here.
"data": {
"id": "694aba23acba98e2bba07a42",
"type": "execution",
"status": "processing",
"createdBy": "user-1",
"createdAt": "2026-01-14T10:00:00.000Z",
"stages": [
{
"name": "ingest",
"total": "1",
"processed": "0",
"errors": "0"
}
]
}
"links": {
"self": "https://api.cloud.precisely.com/executions"
}
"value": {
"statusCode": "400",
"error": "Bad Request",
"message": "Bad Request"
}
"value": {
"statusCode": "401",
"error": "Unauthorized",
"message": "Authentication required"
}
"value": {
"statusCode": "404",
"error": "Not Found",
"message": "Resource not found"
}
"value": {
"statusCode": "429",
"error": "Too Many Requests",
"message": "Rate limit exceeded"
}
"value": {
"statusCode": "500",
"error": "Internal Server Error",
"message": "An unexpected error occurred"
}
"value": {
"statusCode": "503",
"error": "Service Unavailable",
"message": "Service temporarily unavailable"
}
"value": {
"statusCode": "504",
"error": "Gateway Timeout",
"message": "Request timeout"
}