API log¶
Inspect the requests a website's integration makes to Hello Retail (which calls arrive, which fail, and how long they take), and switch recording on or off.
Recording is off by default. Switching it on records every /serve/* and /api/websites/* request for the next seven days, and each recorded entry is deleted seven days after capture, so the log never reaches further back than a week. Every response from these tools tells you whether recording is on: apiLoggingUntil holds the date recording stops, and notice explains how to start it when nothing is being recorded. Already-recorded entries stay readable until they expire, whether or not recording is on right now.
Tips & tricks¶
Pick the card that matches what you're chasing. Each prompt is ready to paste into your assistant.
Start with the failures
When an integration misbehaves, the 4xx and 5xx entries usually name the problem before you read anything else.
Ask for the aggregate
Median and average processing times answer performance questions without pulling individual entries.
Tag your own calls
Add an apiLogTag parameter to a request you're testing, then filter the log down to just those calls instead of everyone's traffic.
apiLog_getEntries¶
Get the logged requests a website's integration has made, newest first: endpoint, HTTP method and URI, request parameters, request headers, response status and server-side processing time. Request headers are limited to the diagnostic ones; credentials are never recorded. Request and response bodies are omitted unless includeBodies is set, and then truncated, so the entry's truncated flag says whether you are seeing a prefix.
| Name | Type | Required | Description |
|---|---|---|---|
websiteUuid | string | Yes | The website's UUID. Find it in my.helloretail.com under Settings → Website Settings → Website Unique Id. |
apiEndpoints | array | No | Only requests to these endpoints. Values: pages, search, recoms, collect_cart, collect_conversion, collect_click, collect_pageview, collect_customeremail, collect_customerid, customer_bias, triggers_subscribe, data_products, data_productfeedruns. |
httpStatusSeries | array | No | Only requests whose response status falls in these ranges. Values: INFORMATIONAL (1xx), SUCCESSFUL (2xx), REDIRECTION (3xx), CLIENT_ERROR (4xx), SERVER_ERROR (5xx). |
requestedBefore | string | No | Only requests made at or before this ISO-8601 instant, e.g. 2026-08-25T10:00:00Z. |
searchText | string | No | Only requests whose parameters or request body contain this text, case-insensitive. |
onlyTagged | boolean | No | Only requests tagged with an apiLogTag request parameter. |
sort | string | No | requestTime_DESC (default), requestTime_ASC, processingTimeMs_DESC or processingTimeMs_ASC. |
limit | integer | No | Maximum number of entries to return. Default 50, max 200. |
includeBodies | boolean | No | Include the request and response bodies, truncated. Off by default: bodies are large and carry the website's end-customer data. |
Example request & response
{
"entries": [
{
"apiEndpoint": "search_POST",
"requestMethod": "POST",
"requestUri": "<string>",
"requestParameters": {"<name>": ["<value>"]},
"requestHeaders": {"<name>": ["<value>"]},
"httpStatusCode": 400,
"processingTimeMs": 0,
"requestTime": "2026-08-25T10:00:00Z",
"requestBody": null,
"responseBody": null,
"truncated": false
}
],
"apiLoggingUntil": "2026-09-01",
"notice": null
}
apiLog_getStats¶
Get aggregate timings for a website's logged requests: the median and average server-side processing time in milliseconds and the number of matching log entries. Takes the same filters as apiLog_getEntries, so it answers "how slow is my search endpoint" or "how many 5xx did we return" without pulling entries. A logCount of 0 means nothing matched, so check apiLoggingUntil for whether recording is even on.
| Name | Type | Required | Description |
|---|---|---|---|
websiteUuid | string | Yes | The website's UUID. Find it in my.helloretail.com under Settings → Website Settings → Website Unique Id. |
apiEndpoints | array | No | Only requests to these endpoints. Same values as apiLog_getEntries. |
httpStatusSeries | array | No | Only requests whose response status falls in these ranges. Same values as apiLog_getEntries. |
requestedBefore | string | No | Only requests made at or before this ISO-8601 instant. |
searchText | string | No | Only requests whose parameters or request body contain this text, case-insensitive. |
onlyTagged | boolean | No | Only requests tagged with an apiLogTag request parameter. |
Example request & response
apiLog_setLogging¶
Switch API logging on or off for a website. Switching it on records every /serve/* and /api/websites/* request for the next seven days. The window is always seven days and cannot be extended; call the tool again to switch recording off early.
Write operation
Switching logging on records full request and response bodies, which for the collect endpoints contain the website's end-customer data, such as email addresses, order contents and carts. Your assistant will ask for confirmation before this runs.
| Name | Type | Required | Description |
|---|---|---|---|
websiteUuid | string | Yes | The website's UUID. Find it in my.helloretail.com under Settings → Website Settings → Website Unique Id. |
enabled | boolean | Yes | true to record for the next seven days, false to stop recording now. |