GET Change Logs

Retrieve a paginated list of change log entries for CRA entities, providing normalized change history across Suppliers, Relationships, Engagements, and other objects.

Endpoint

Endpoint

/api/changelogs

Method

GET

Scope

riskassess.administration.read

Headers

Header Argument

Authorization

Bearer token

Accept

application/json or application/xml

X-Correlation-Id

(Optional) Request tracing ID

Parameters

Table 1. Query parameters
Parameter Required Description

limit

No

Maximum number of items to return. Default: 50. Hard maximum: 50.

offset

No

Number of items to skip from start. Default: 0.

objectId

No

Filter by object identifier (GUID). Supports [eq] operator only.

objectType

No

Filter by entity type. Must use fully-qualified type names: Hiperos.Models.Supplier, Hiperos.Models.Relationship, Hiperos.Models.Engagement. Supports [eq] operator only.

Note:

Changes for AdHocReport and StandardAdHocReport object types are excluded from results due to their large ReportXML payloads.

changeDate

No

Filter by change date (ISO-8601 UTC format). Supports [gt], [lt], and [eq] operators.

Note:

[eq] matches exact millisecond timestamps only (e.g., 2026-07-22T01:30:46.477Z). For day-range queries, use [gt] and [lt] together.

Note:

If no changeDate filter is provided, results are automatically limited to the last 30 days. To query older changes, provide explicit changeDate[gt]=<start> and changeDate[lt]=<end>. Maximum query window: 1 year.

changeSource

No

Filter by change source. Example values: API, UI, Integration. Supports [contains] and [eq] operators.

propertyName

No

Filter by property name. Supports [eq] operator only.

order_by

No

Sort field. Allowed value: changeDate. Default sort is by entryId descending if not specified.

dir

No

Sort direction: asc or desc. Default: desc.

Table 2. Filterable fields
API field Filter Sort (order_by)

objectId

Yes

No

objectType

Yes

No

changeDate

Yes

Yes

changeSource

Yes

No

propertyName

Yes

No

Elements

The following elements are available in the response:

Element Data Type Available Options Description

success

boolean

Whether the request was successful.

totalCount

integer

Total number of change log entries that match the filter criteria across all pages.

changeLogs

array

Array of change log record objects for the current page.

entryId

string

Unique identifier for the change log entry.

objectId

string (GUID)

Identifier of the object that was changed.

objectType

string

Hiperos.Models.Supplier

Hiperos.Models.Relationship

Hiperos.Models.Engagement

Fully-qualified type name of the object that was changed.

changeDate

datetime

Date and time when the change occurred (UTC).

changedById

string (GUID)

User identifier who made the change. Does not include resolved user name. Use existing User APIs to resolve the display name if needed.

changeSource

string

Source of the change. Examples: API, UI, Integration.

propertyName

string

Name of the property that was changed.

propertyLabel

string

Display label for the property that was changed.

oldValue

string

Previous value of the property before the change. Can be null.

newValue

string

New value of the property after the change. Can be null.

propertyType

string

Type of property. Enum string values like StandardField, ExtensionField.

localizationCategory

string

Localization category for the property.

localizationKey

string

Localization key for the property.

errors

array

List of error objects. Typically empty when the request is successful.

Get change logs

Endpoint

GET /api/changelogs

Example cURL request
curl --location 'https://<your-instance>.risk.com/api/changelogs?limit=50&offset=0&order_by=changeDate&dir=desc' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer ••••••'
Example cURL request with filters
curl --location 'https://<your-instance>.risk.com/api/changelogs?objectType[eq]=Hiperos.Models.Supplier&changeDate[gt]=2026-02-01T00:00:00Z&changeDate[lt]=2026-02-07T23:59:59Z&changeSource[contains]=API' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer ••••••'
Example response
{
  "success": true,
  "errors": [],
  "result": {
    "totalCount": 150,
    "changeLogs": [
      {
        "entryId": "abc123",
        "objectId": "12345-guid",
        "objectType": "Hiperos.Models.Supplier",
        "changeDate": "2026-02-06T10:30:00Z",
        "changedById": "user-guid-123",
        "changeSource": "API",
        "propertyName": "SupplierName",
        "propertyLabel": "Supplier Name",
        "oldValue": "Acme Corp",
        "newValue": "Acme Corporation",
        "propertyType": "StandardField",
        "localizationCategory": "Supplier",
        "localizationKey": "supplier_name"
      }
    ]
  }
}
Example error response for invalid filter
{
  "success": false,
  "result": null,
  "errors": [
    {
      "message": "Unsupported filter 'invalidField'",
      "errorCode": "InvalidFilter"
    }
  ]
}
Example error response for exceeding limit
{
  "success": false,
  "result": null,
  "errors": [
    {
      "message": "Max limit is 50",
      "errorCode": "LimitExceedsMax"
    }
  ]
}
Example error response for invalid date format
{
  "success": false,
  "result": null,
  "errors": [
    {
      "message": "Invalid date format. Please use ISO-8601 UTC format.",
      "errorCode": "InvalidFilter"
    }
  ]
}