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
Start with the failures when an integration misbehaves.
Aggregate timings answer performance questions without pulling individual entries.
Tag a request you are testing by adding an apiLogTag parameter to it, then filter the log down to just your own calls.
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 — 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 — 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. |