Skip to content
Hoody.com

The execution log API surfaces every log file produced by commands run inside an exec container. Use these endpoints to enumerate available logs, stream them in real time, read paginated slices, run full-text or regex searches, and prune old entries. All endpoints are scoped to a single exec instance and require a valid Hoody access token in the Authorization header.

The base URL for every operation on this page is https://{projectId}-{containerId}-exec-1.{server}.containers.hoody.com.


Enumerate log files and directories available to the exec instance. Use the optional type filter to narrow the result to a specific log class and limit to cap the number of entries returned.

NameInTypeRequiredDescription
typequerystringNoType query parameter
limitquerystringNoLimit query parameter
Terminal window
curl -G "https://{projectId}-{containerId}-exec-1.{server}.containers.hoody.com/api/v1/exec/logs/list" \
-H "Authorization: Bearer <token>" \
--data-urlencode "type=execution" \
--data-urlencode "limit=50"

Open a live stream of a log file. The response stays open and emits new lines as they are appended to the file. Set follow=true to receive ongoing output (equivalent to tail -f); omit it for a one-shot dump.

NameInTypeRequiredDescription
filequerystringYesFile query parameter
followquerystringNoFollow query parameter
Terminal window
curl "https://{projectId}-{containerId}-exec-1.{server}.containers.hoody.com/api/v1/exec/logs/stream?file=executions.log&follow=true" \
-H "Authorization: Bearer <token>"

Read a slice of a log file. Provide either file (a path) or executionId to identify the log. tail controls whether the slice is taken from the end or the beginning, lines caps the returned slice, and search filters lines to those containing the given substring.

NameTypeRequiredDefaultDescription
filestringNoFile
executionIdstringNoExecution Id
linesintegerNo100Lines
tailbooleanNotrueTail
searchstringNoSearch
Terminal window
curl -X POST "https://{projectId}-{containerId}-exec-1.{server}.containers.hoody.com/api/v1/exec/logs/read" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"file": "executions.log",
"lines": 50,
"tail": true,
"search": "ERROR"
}'

Search one or more log files for a substring (query) or a regular expression (regex). Use files to restrict the search to specific files; omit it to search every log file known to the container.

NameTypeRequiredDefaultDescription
querystringNoQuery
regexstringNoRegex
filesarrayNoFiles
limitintegerNo1000Limit
caseSensitivebooleanNofalseCase Sensitive
Terminal window
curl -X POST "https://{projectId}-{containerId}-exec-1.{server}.containers.hoody.com/api/v1/exec/logs/search" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"regex": "Failed to connect .* upstream",
"files": ["executions.log", "errors.log"],
"limit": 500,
"caseSensitive": false
}'

Delete log files or log entries. Without filters the operation refuses to run: either scope it to a single file with file, a log type with type, entries older than a threshold with olderThanDays, or set confirm=true to acknowledge a wholesale purge.

NameInTypeRequiredDescription
filequerystringNoFile query parameter
typequerystringNoType query parameter
olderThanDaysquerystringNoOlderThanDays query parameter
confirmquerystringNoConfirm query parameter
Terminal window
curl -X DELETE "https://{projectId}-{containerId}-exec-1.{server}.containers.hoody.com/api/v1/exec/logs/clear?type=execution&olderThanDays=30&confirm=true" \
-H "Authorization: Bearer <token>"