Merchant API: retrieve audit logs
About this article
This article explains how to use the GET /v2/auditlogs endpoint in the Merchant API to retrieve a paginated list of audit log entries for your ChannelEngine account, including what each request parameter and response field means.
Table of contents
- Query parameters
- Response structure
- Envelope fields
- Audit log entry fields
- Pagination
- Example requests
Introduction
ChannelEngine's audit logs record changes made in your account (tenant) – who made it and when. This makes it straightforward to follow up with the right team member when you need to understand why an action was taken, and gives you a clear starting point for reviewing activity when something did not go as planned.
The GET /v2/auditlogs endpoint exposes this data via the Merchant API, so you can pull it into your own security monitoring tools, compliance reports, or data pipelines.
GET /v2/auditlogs endpoint is available to a select group of ChannelEngine customers and is not enabled by default. If you do not yet have access, contact your integration coordinator, customer success manager, or the ChannelEngine Support team to discuss options and arrange access.
Overview
Refer to the flowchart below to visualize how audit log data flows between your system and ChannelEngine, whenever a user makes a change on ChannelEngine.
Requirements
Before making requests to this endpoint, confirm that you have the following in place:
- Access to the Audit Logs API – contact your integration coordinator, customer success manager, or ChannelEngine Support if you are unsure whether your account has access.
- A valid Merchant API key with sufficient permissions. Find or generate a key at Settings, Merchant API Keys.
- Your ChannelEngine tenant name – the subdomain of your account URL. If your platform URL is
my-shop.channelengine.net, your tenant name ismy-shop.
Available API endpoints
The audit log resource exposes a single endpoint for retrieving account activity.
-
Retrieve audit logs:
GET /v2/auditlogs
Use this endpoint to retrieve a paginated list of audit log entries for your account. Filter by date range, entity type, action, or channel. Results are ordered newest first.
Endpoint: retrieve audit logs
Use this endpoint to retrieve all audit logs available for your tenant.
GET https://{your-tenant}.channelengine.net/api/v2/auditlogs Authenticate by passing your Merchant API key in the request header:
apikey: YOUR_API_KEY
Query parameters
All parameters are optional. When no filters are applied, the endpoint returns all audit log entries for your account, ordered newest first.
| Parameter | Type | Description |
FromCreateDate |
string | Return only entries created on or after this timestamp. Use RFC 3339 format, e.g.: 2026-01-01T00:00:00Z. |
ToCreateDate |
string | Return only entries created on or before this timestamp. Use RFC 3339 format, e.g.: 2026-07-01T23:59:59Z. |
Types |
array of strings | Filter by the type of entity that was changed. You can pass multiple values. Supported values include: PRODUCT, BUNDLE_PRODUCT, CHANNEL, CHANNEL_SETTINGS, CHANNEL_ACTIVATION, CHANNEL_AUTHORIZATION, CHANNEL_DELETE, CHANNEL_SETUP, CHANNEL_LISTING_ACTIVATION, CHANNEL_CATEGORISATION, CHANNEL_MAPPING_RULESETS_DATA, CHANNEL_MAPPING_RULESETS_OFFER, CHANNEL_MAPPING_RULESETS_FEE_GROUP, CHANNEL_STOCK_SETUP, LISTING_FILTER, PRICE_RULE, REPRICE_RULE, PRICE_OVERRIDE, PRICING_PRICE_RULES, PRICING_REPRICER_RULES, ORDER_STATUS, ORDER_PERSONAL_DETAILS, ORDER_ROUTING, RETURN, SHIPMENT, FULFILLMENT_SHIPMENT, SHIPMENT_DELIVERY, PURCHASE_ORDER, PURCHASE_ORDER_LINE_ACKNOWLEDGEMENT, PURCHASE_ORDER_SHIPMENT, PURCHASE_ORDER_INVOICE, STOCK_LOCATION, STOCK_ALLOCATION, MERCHANT_SETTINGS, MERCHANT_ACTIVATION, GENERAL_SETTINGS, API_KEYS, FEEDS, USER, USER_ROLE, WEBHOOK, VAT_RATE, CUSTOM_VAT_RATE, CARRIER_MAPPING, NOTIFICATION_SETTINGS, PRODUCT_SELECTION, TARGET, DELETE_ALL, SUPER_ADMIN_LISTED_PRODUCT, SUPER_ADMIN_RESET_ENTITIES. |
Actions |
array of strings | Filter by the action that was performed. You can pass multiple values. Supported values: CREATE, UPDATE, DELETE, UNDELETE, ENABLE, DISABLE, RESET, HARD_DELETE. |
ChannelIds |
array of integers | Filter by one or more specific channels by their ChannelEngine channel ID. |
page |
integer | The page of results to retrieve. Use this to step through results when the total count exceeds one page. Defaults to 1. |
Response structure
A successful request returns a JSON object containing the matching audit log entries and metadata about the result set. E.g.:
{
"Content": [
{
"ChannelId": null,
"Type": "LISTING_FILTER",
"Action": "UPDATE",
"UserName": "Jane Smith",
"UserEmail": "jane@example.com",
"Date": "2026-07-01T12:18:40.730Z"
}
],
"Count": 1,
"TotalCount": 1,
"ItemsPerPage": 50,
"StatusCode": 200,
"RequestId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"LogId": "log-112233",
"Success": true,
"Message": null,
"ExceptionType": null,
"ValidationErrors": null
}Envelope fields
| Field | Type | Description |
Content |
array | The list of audit log entries matching your query. See the audit log entry fields table below for the fields within each entry. |
Count |
integer | The number of entries returned on this page. |
TotalCount |
integer | The total number of entries matching your filters across all pages. |
ItemsPerPage |
integer | The maximum number of entries returned per page, which is 100. |
StatusCode |
integer | HTTP-equivalent status code within the response body. 200 indicates success. |
RequestId |
string | Unique identifier for this API call. Provide this to ChannelEngine Support for faster diagnosis of any issues. |
LogId |
string | Internal ChannelEngine log reference. Useful alongside RequestId when contacting support. |
Success |
boolean | true when the request completed without errors. |
Message |
string | A human-readable message, populated when an error occurs. null on success. |
ExceptionType |
string | Machine-readable error classification when Success is false. |
ValidationErrors |
object | Field-level validation errors keyed by field name. null on success. |
Audit log entry fields (within Content)
| Field | Type | Description |
Type |
string | The entity type that was changed, e.g.: PRODUCT, WEBHOOK, or CHANNEL_SETTINGS. |
Action |
string | The action performed, e.g.: CREATE, UPDATE, or DELETE. |
Date |
string | The exact timestamp of the change in UTC (ISO 8601 format). |
UserName |
string | The display name of the user who made the change. null for system-generated actions. |
UserEmail |
string | The email address of the user who made the change. null for system-generated actions. |
ChannelId |
integer | The ID of the channel affected by the change. null if the action was not channel-specific. |
UserName, UserEmail, and ChannelId are null when a change was made by an automated process or was not tied to a specific channel. This is expected behavior. The audit log never exposes sensitive values such as API key contents or passwords – these are masked.
Pagination
When a query returns more entries than fit on a single page, use the page parameter to step through the results.
- Make your first request. Call the endpoint without a
pageparameter – it defaults to page 1. The response includesTotalCountandItemsPerPage. - Calculate the number of pages. Divide
TotalCountbyItemsPerPageand round up to get the total page count. - Retrieve the remaining pages. Repeat the request with
page=2,page=3, and so on until all entries have been collected.
FromCreateDate and ToCreateDate together when pulling large volumes of logs. Scoping requests to a specific time window keeps result sets small and reduces unnecessary data transfer.
Example requests
Manual product changes in the last 7 days
GET /api/v2/auditlogs ?FromCreateDate=2026-06-24T00:00:00Z &ToCreateDate=2026-07-01T23:59:59Z &Types=PRODUCT
All deletions across your account
GET /api/v2/auditlogs ?Actions=DELETE &Actions=HARD_DELETE
Webhook changes for a specific channel
GET /api/v2/auditlogs ?Types=WEBHOOK &ChannelIds=12345
Retrieve the second page of results
GET /api/v2/auditlogs ?FromCreateDate=2026-01-01T00:00:00Z &page=2
Common issues
| HTTP status / symptom | Likely cause | How to fix |
403 Unauthorized |
You do not have access to audit logs. | Contact your integration coordinator, customer success manager, or the ChannelEngine Support team to discuss options and arrange access. |
401 Unauthorized |
API key is missing, incorrect, or not a Merchant API key. | Check the key at Settings, Merchant API Keys and confirm it is passed in the apikey header with no extra spaces. |
200 with Success: false |
A validation or business-logic error occurred. | Read the Message and ValidationErrors fields for details. Confirm that date parameters use RFC 3339 format. |
Empty Content array |
No entries match your filters for the given period. | Broaden your date range or remove some filters. Confirm that entries exist by checking the platform UI at {your-tenant}.channelengine.net/auditlog first. |
UserName / UserEmail are null |
The action was triggered by an automated process, not a user. | Expected behavior – no action needed. |
ChannelId is null |
The change was not tied to a specific channel, for example a merchant-level setting. | Expected behavior. Only filter by ChannelIds when you need channel-scoped entries specifically. |
| Connection timeout / DNS error | The tenant name in the URL is incorrect. | Log in to ChannelEngine and check the subdomain in the address bar to confirm your tenant name. |
Next steps
- Set up a scheduled job to pull audit logs at regular intervals for compliance or security monitoring.
- Use the
TypesandActionsfilters to scope your integration to only the events you require. - Include
RequestIdandLogIdfrom any response when contacting ChannelEngine Support about a specific API call. - Check out the full Merchant API reference for other available endpoints.
Comments
0 comments
Article is closed for comments.