Skip to main content
Version: 8.3

Endpoints for managing delete event logs

Level: advanced
note

This functionality is available for Creatio 8.3.2 and later.

Since version 8.3.2, Creatio provides a dedicated REST API that exposes endpoints for configuring delete event logging and retrieving delete event logs. Learn more: Configure delete event logging. The API is optimized for paginated access and integration scenarios.

Before working with the API, ensure that the user on whose behalf the API request is performed has permission to the "Can View Entity Delete Log" (CanViewEntityDeleteLog code) system operation. Out of the box, only users that have the "Administrator," "Developer," "System administrators" role can use the API. Learn more: System operation permissions (user documentation).

Retrieve objects configured for delete event logging

Request string

GET {CreatioURL}/api/v1/entities/eventLogConfigs/{appCode}

Retrieve the list of object codes where delete events are tracked for a specific app code.

Path parameter

Type

Required

Description

appCode

string

Yes

The app code used to retrieve objects configured for delete event logging. For example, "Mobile," "IntegrationService."

Request headers

Header

Description

Authorization

OAuth access token. Learn more: Authorize external requests using client credentials grant.

Content-Type

The media type of the request body. Use "application/json." Learn more: Content-Type Header Field (official RFC Editor documentation).

HTTP status codes

Status code

Description

200 OK

Request processed successfully. The response body includes one of the following values:

  • a list of object codes for which delete event logging is enabled for the specified app code
  • an empty array when no objects are configured for delete event logging for the specified app code

403 Forbidden

Insufficient permissions. The user does not have the required operation permissions to retrieve objects configured for delete event logging.

500 Internal Server Error

Server error during processing.

Response body

[
"string",
...
]

The response body contains a list of object codes where delete event logging is enabled for the specified app code. If no objects are configured for the specified app code, the response body contains an empty array.

Usage examples

View the example that retrieves the list of object codes where delete event logging is configured for the "Mobile" app code.

curl -i -X GET "https://mycreatio.com/api/v1/entities/eventLogConfigs/Mobile" \
-H "Authorization: Bearer {your-OAuth-access-token}" \
-H "Content-Type: application/json"

View the example that retrieves the list of object codes configured for delete event logging for the "CustomApp" app code when no objects are configured.

curl -i -X GET "https://mycreatio.com/api/v1/entities/eventLogConfigs/CustomApp" \
-H "Authorization: Bearer {your-OAuth-access-token}" \
-H "Content-Type: application/json"

View the example that attempts to retrieve objects where delete event logging is configured for the "Mobile" app code when the current user does not have sufficient permissions.

curl -i -X GET "https://mycreatio.com/api/v1/entities/eventLogConfigs/Mobile" \
-H "Authorization: Bearer {your-OAuth-access-token}" \
-H "Content-Type: application/json"

Add objects for delete event logging

When adding objects for delete event logging, Creatio performs the following actions:

  • Checks whether an object is already configured and active for the specified app code. In this case, the object is not added repeatedly.

  • Reactivates an existing configuration if the object was previously configured but is currently inactive to avoid duplication.

  • Validates that all specified object codes exist in the configuration before processing the request. All validation is performed before any changes are applied. The operation is not transactional at the database level. If at least one object code is invalid:

    • the entire request is rejected
    • no objects are added for delete event logging
    • the API returns a 400 Bad Request status code and a response body that includes a list of invalid object codes
  • Invalidates related caches automatically after objects are successfully added, including cache invalidation across all web farm nodes.

Request string

POST {CreatioURL}/api/v1/entities/eventLogConfigs

Add one or more objects to the delete event logging configuration for a specific app code. After the objects are added, delete events for the specified objects are logged and become available through the delete event log API.

Request headers

Header

Description

Authorization

OAuth access token. Learn more: Authorize external requests using client credentials grant.

Content-Type

The media type of the request body. Use "application/json." Learn more: Content-Type Header Field (official RFC Editor documentation).

Request body

{
"appCode": "string",
"schemaNames": [
"string"
]
}

Field

Type

Required

Description

appCode

string

Yes

The app code used to add objects for delete event logging. For example, "Mobile," "IntegrationService." The field cannot be empty or null.

schemaNames

array of strings

Yes

A list of existing object codes to add to delete event logging. Must contain at least one valid object code.

HTTP status codes

Status code

Description

200 OK

Request processed successfully. The response body includes the number of objects added to delete event logging.

400 Bad Request

Invalid request. Returned when the request body is invalid or contains invalid object codes. The response body contains error details.

403 Forbidden

Insufficient permissions. The user does not have the required operation permissions to add objects for delete event logging.

500 Internal Server Error

Server error during processing.

Response body

{
"addedCount": integer
}

Field

Type

Description

addedCount

integer

The number of objects added to delete event logging successfully. Includes both newly added and reactivated configurations. Applicable for 200 OK status code.

Message

string

Error description. Returned when the request fails. Applicable for 400 Bad Request status code.

ModelState

object

Detailed validation errors for request fields. Applicable for 400 Bad Request status code. Optional.

ModelState.request.SchemaNames

array of strings

A list of validation error messages related to the schemaNames field. Returned when the request body contains invalid or empty object codes. Applicable for 400 Bad Request status code. Optional.

Usage examples

View the example that adds multiple objects to delete event logging for the "Mobile" app code.

curl -i -X POST "https://mycreatio.com/api/v1/entities/eventLogConfigs" \
-H "Authorization: Bearer {your-OAuth-access-token}" \
-H "Content-Type: application/json" \
-d '{
"appCode": "Mobile",
"schemaNames": [
"Contact",
"Account",
"Lead"
]
}'

View the example that adds objects to delete event logging for the "Mobile" app code when the "Contact" (Contact code) object is already configured and active.

curl -i -X POST "https://mycreatio.com/api/v1/entities/eventLogConfigs" \
-H "Authorization: Bearer {your-OAuth-access-token}" \
-H "Content-Type: application/json" \
-d '{
"appCode": "Mobile",
"schemaNames": [
"Contact",
"Opportunity"
]
}'

View the example that sends an invalid request with an empty object list for the "Mobile" app code.

curl -i -X POST "https://mycreatio.com/api/v1/entities/eventLogConfigs" \
-H "Authorization: Bearer {your-OAuth-access-token}" \
-H "Content-Type: application/json" \
-d '{
"appCode": "Mobile",
"schemaNames": []
}'

View the example that sends a request that contains invalid object codes for the "Mobile" app code. Validation fails before any objects are added.

curl -i -X POST "https://mycreatio.com/api/v1/entities/eventLogConfigs" \
-H "Authorization: Bearer {your-OAuth-access-token}" \
-H "Content-Type: application/json" \
-d '{
"appCode": "Mobile",
"schemaNames": [
"Contact",
"InvalidSchema1",
"Account",
"InvalidSchema2"
]
}'

View the example that attempts to add objects to delete event logging for the "Mobile" app code when the current user does not have sufficient permissions.

curl -i -X POST "https://mycreatio.com/api/v1/entities/eventLogConfigs" \
-H "Authorization: Bearer {your-OAuth-access-token}" \
-H "Content-Type: application/json" \
-d '{
"appCode": "Mobile",
"schemaNames": ["Contact"]
}'

View the example that returns a server-side error during request processing for the "Mobile" app code.

curl -i -X POST "https://mycreatio.com/api/v1/entities/eventLogConfigs" \
-H "Authorization: Bearer {your-OAuth-access-token}" \
-H "Content-Type: application/json" \
-d '{
"appCode": "Mobile",
"schemaNames": [
"Contact"
]
}'

Retrieve delete event logs

Request string

POST {CreatioURL}/api/v1/entities/eventLogs

Retrieve delete event logs for configured objects based on optional filters such as object, app code, and period.

Request headers

Header

Description

Authorization

OAuth access token. Learn more: Authorize external requests using client credentials grant.

Content-Type

The media type of the request body. Use "application/json." Learn more: Content-Type Header Field (official RFC Editor documentation).

Request body

{
"entitySchemaNames": [
"Contact",
"Account"
],
"appCode": "Mobile",
"fromDate": "2025-10-01T00:00:00Z",
"toDate": "2025-11-01T00:00:00Z",
"pageSize": 50,
"pageNumber": 1
}

Field

Type

Required

Description

entitySchemaNames

array of strings

No

A list of object codes used to filter delete event logs. If the field is omitted or empty, delete event logs for all objects where delete event logging is configured are returned.

appCode

string

No

The app code used to filter delete event logs.

fromDate

datetime

No

The start date of the period for retrieving delete event logs, in ISO-8601 format (UTC). Only records after this date are returned.

toDate

datetime

No

The end date of the period for retrieving delete event logs, in ISO-8601 format (UTC). Only records before this date are returned.

pageSize

integer

No

The number of records to return per page. By default, "50." Acceptable values range from "1" to "1000."

pageNumber

integer

No

The page number to retrieve. Page numbering starts at "1." By default, "1."

HTTP status codes

Status code

Description

200 OK

Request processed successfully. The response body contains delete event logs that match the specified filters.

400 Bad Request

Invalid request parameters. Returned when the request body contains validation errors.

403 Forbidden

Insufficient permissions. The user does not have the required operation permissions to retrieve delete event logs.

500 Internal Server Error

Server error during processing.

Response body

{
"data": [
{
"entitySchemaName": "string",
"recordId": "guid"
},
...
],
"pageNumber": integer,
"pageSize": integer,
"totalCount": integer,
"totalPages": integer,
"hasNextPage": boolean,
"hasPreviousPage": boolean
}

Field

Type

Description

data[].entitySchemaName

string

The object code where the delete event log record occurred. Applicable for 200 OK status code.

data[].recordId

guid

The unique ID of the deleted record. Applicable for 200 OK status code.

pageNumber

integer

The current page number. Page numbering starts at "1." Applicable for 200 OK status code.

pageSize

integer

The number of records returned per page. Applicable for 200 OK status code.

totalCount

integer

The total number of delete event log records that match the specified filters. Applicable for 200 OK status code.

totalPages

integer

The total number of available pages. Applicable for 200 OK status code.

hasNextPage

boolean

Determines whether more pages are available. Applicable for 200 OK status code.

hasPreviousPage

boolean

Determines whether previous pages are available. Applicable for 200 OK status code.

Message

string

Error description returned when the request fails. Applicable for 400 Bad Request status code.

ModelState

object

Detailed validation errors returned when the request body is invalid. Applicable for 400 Bad Request status code. Optional.

ModelState.{field}

array of strings

A list of validation errors for a specific request field. Applicable for 400 Bad Request. Optional.

Usage examples

View the example that retrieves delete event logs for the "Mobile" app code starting from the specified date. The response returns the first page of results with a page size of 100 records.

curl -i -X POST "https://mycreatio.com/api/v1/entities/eventLogs" \
-H "Authorization: Bearer {your-OAuth-access-token}" \
-H "Content-Type: application/json" \
-d '{
"appCode": "Mobile",
"fromDate": "2025-11-14T00:00:00Z",
"pageSize": 100,
"pageNumber": 1
}'

View the example that retrieves delete event logs for the "Contact" (Contact code) and "Lead" (Lead code) objects configured for delete event logging for the "Mobile" app code within the specified period. The response returns the first page of results with a page size of 50 records.

Request (cURL)
curl -i -X POST "https://mycreatio.com/api/v1/entities/eventLogs" \
-H "Authorization: Bearer {your-OAuth-access-token}" \
-H "Content-Type: application/json" \
-d '{
"entitySchemaNames": [
"Contact",
"Lead"
],
"appCode": "Mobile",
"fromDate": "2025-11-01T00:00:00Z",
"toDate": "2025-11-21T23:59:59Z",
"pageSize": 50,
"pageNumber": 1
}'

View the example that retrieves the second page of delete event logs for the "Mobile" app code with a page size of 50 records.

Request (cURL)
curl -i -X POST "https://mycreatio.com/api/v1/entities/eventLogs" \
-H "Authorization: Bearer {your-OAuth-access-token}" \
-H "Content-Type: application/json" \
-d '{
"appCode": "Mobile",
"pageSize": 50,
"pageNumber": 2
}'

View the example that sends a request that contains an invalid page size value. The API returns a validation error indicating that the page size is outside the allowed range.

curl -i -X POST "https://mycreatio.com/api/v1/entities/eventLogs" \
-H "Authorization: Bearer {your-OAuth-access-token}" \
-H "Content-Type: application/json" \
-d '{
"pageSize": 2000,
"pageNumber": 1
}'

View the example that attempts to retrieve delete event logs for the "Mobile" app code when the current user does not have sufficient permissions.

curl -i -X POST "https://mycreatio.com/api/v1/entities/eventLogs" \
-H "Authorization: Bearer {your-OAuth-access-token}" \
-H "Content-Type: application/json" \
-d '{
"appCode": "Mobile"
}'

See also

Configure delete event logging