Skip to content

Command line - logs, traces and checking what happened ​

What it is for ​

When something does not work, you want the reason, not a guess. These commands show what the server did.

Read the server log ​

bash
erp logs tail --lines 200
erp logs tail --grep NullPointerException
erp logs tail --grep <correlation-id> --follow

Every response carries an X-Correlation-Id. Search the log for it to find the full stack trace of that one request. In an AI coding agent the same thing is the erp_tail_logs tool.

Follow one business event ​

bash
erp trace <correlationId>                  # every flow run, event and queue message of one event, in time order
erp queue messages <queue> --status DEAD   # messages that gave up
erp queue trace <queue> <messageId>        # why a message ended up dead
erp integration health                     # dead messages, failing triggers, open conflicts, pending go-live approvals

Follow workflows ​

bash
erp workflow list --definition leave-request --record 1042
erp workflow instance <instanceId>         # stage, status and context
erp workflow tasks    <instanceId>         # human tasks and who must act
erp workflow history  <instanceId>         # every step and transition

Bots, journeys and calls ​

bash
erp plugin op agent-executions --agentCode order-helper
erp plugin op agent-steps      --executionId <id>     # model calls, tool calls, approvals
erp plugin op engagement-members --code renewal-30    # where each customer is in a journey
erp plugin op voice-calls                              # recent calls with outcome and summary
erp plugin op dms-media --id 42                        # state of the streaming copies of a video

Call any endpoint ​

bash
erp api get  /api/v1/package-contributions
erp api post /api/v1/entities/lm_leave_type/records --body '{"type_code":"STUDY","type_name":"Study leave"}'

erp api uses your signed-in session, so you see what you are allowed to see. It is the quickest way to check a feature after a deploy.

Check a page renders ​

bash
erp page check /leave --user someone@example.com --password '<password>'

It opens the page in a real browser and reports errors. Do not put real passwords in shared scripts.

Where next ​