Skip to main content

Events, metrics and alerts

Four surfaces tell you what the platform is doing, and they answer different questions.

GroupQuestion it answers
eventsWhat has happened recently, as a live feed?
metricsWhat are the numbers, over time?
alertsWhat condition should tell me, and did it?
auditWho did what, and when?

notifications and webhooks are the delivery side. Notifications go to people in the web app, and webhooks go to your own systems.

Events

The event feed is durable and ordered. Every job, transfer and command completion, every device going online or offline, every alert firing lands in it with a position, and you resume from a position rather than from a timestamp. That is what makes it safe for a script to disconnect and come back without missing anything.

events tail

clika-rt events tail [flags]

Follows the feed, printing one JSON line per event. It prints everything retained after --cursor first, then blocks on the server's long poll and prints each new event the moment it lands. There is no polling interval to tune, because it is not polling.

FlagTypeDefaultMeaning
--cursorint0Start after this feed position. 0 means the start of the retention window.
--typesstringallComma-separated event names to include, for example transfer_completed,job_completed.
--onceboolfalsePrint what the feed already holds after --cursor and exit, instead of following.

The id on the last line you printed is the cursor to resume from.

$ clika-rt events tail --types job_completed
{"id":1041,"type":"job_completed","job":"nightly-llm-sweep-jetson-01","status":"completed","at":"2026-09-03T09:12:44Z"}
{"id":1042,"type":"job_completed","job":"nightly-llm-sweep-orin-02","status":"completed","at":"2026-09-03T09:13:02Z"}
clika-rt events tail --cursor 1041 --once

events list

clika-rt events list [flags]

Reads one page and exits. Use it when you want a page rather than a stream.

FlagTypeDefaultMeaning
--cursorint0Return events after this position.
--limitintserver default 100Events per page, up to 500.
--typesstringallComma-separated event names.
--wait_sint0When nothing is past --cursor yet, hold the read open this many seconds waiting for the next event.
--streamboolfalseStream the raw live server-sent-events push instead of reading the feed. There is no replay, no filtering, and some ingress proxies block it. Prefer events tail.

Resume from the response's next_cursor, or from a row's id.

clika-rt events list --types job_completed --limit 20
clika-rt events list --cursor 1041 --wait_s 30

Metrics

clika-rt metrics data <name> [flags]
clika-rt metrics log --body '<json>'

metrics data queries the stored data points for one metric by name.

FlagTypeDefaultMeaning
--startstringnoneRange start, RFC 3339.
--endstringnoneRange end, RFC 3339.
--limitstring1000Maximum points to return.
--offsetstring0Offset, for paging through a long range.
clika-rt metrics data tokens_per_second --start 2026-09-01T00:00:00Z --end 2026-09-03T00:00:00Z

metrics log writes data points in, which is how an external system feeds numbers to the platform that no job produced.

Alerts

clika-rt alerts rules
clika-rt alerts rules-id <id>
clika-rt alerts rules-create --body '<json>'
clika-rt alerts rules-update-id <id> --body '<json>'
clika-rt alerts rules-delete-id <id>
clika-rt alerts history

An alert rule is a condition over the platform's state or metrics. alerts history is what fired and when, which is the first thing to read when someone asks whether an alert actually went off.

Notifications

Notifications are the in-app inbox for a person.

CommandWhat it does
notifications listYour notifications.
notifications mark-read <id>Mark one read.
notifications mark-all-readMark them all read.
notifications delete-delete-id <id>Delete one.
notifications delete-deleteClear them all.

Webhooks

Webhooks are the outbound half. The platform posts to a URL you own when something happens.

CommandWhat it does
webhooks listConfigured webhooks.
webhooks get <id>One webhook.
webhooks create --body '<json>'Add one.
webhooks update <id> --body '<json>'Change one.
webhooks test <id>Send a test delivery, so you can confirm the endpoint before relying on it.
webhooks delete <id>Remove one.

Prefer a webhook when another system should react. Prefer events tail when a script of yours should react and you would rather not run a listening endpoint.

Audit

clika-rt audit list
clika-rt audit get <target_type> <target_id>

audit list is the activity log across the organization. audit get narrows it to one resource, for example every change ever made to one device, which is the query you want during an investigation.

The licensing audit trail is separate, and lives at v1 licensing-audit-log. See licensing.

Deployment health

Three unauthenticated-style probes, exposed as commands like everything else:

CommandWhat it reports
health listThe overall health check, dependencies included.
livez listLiveness: the process is up.
ready listReadiness: the process is up and able to serve.

They are most useful when you are debugging a deployment rather than using one. A ready that fails while livez passes usually means a dependency, such as the database, is not available yet.

Full command reference

Every command below is generated from the deployment's own API description, so one subcommand is exactly one platform operation. Each entry names the method, the endpoint and the MCP tool name, so the same operation is identifiable whichever surface you drive it from. Path parameters are positional arguments, query parameters are flags, and a request body is --body or --body-file. The hand-written commands, the ones that stream, propagate an exit code, or hand your terminal to ssh, carry no operation line.

The prose above covers the commands most people reach for. This section is the complete surface, for when you need the flag you have not used before.

clika-rt events

events has 2 subcommands.

clika-rt events list

Reads one page of the durable org event feed (GET /api/events?cursor=) and exits: job/transfer/command completions, device online/offline edges, alert triggers and more. Resume from a response's next_cursor (or a row's ID) with --cursor; --wait_s holds an empty read open until the next event lands. Use 'events tail' to follow the feed, or --stream for the raw live SSE push (no replay, unfiltered).

clika-rt events list [flags]
FlagTypeDefaultMeaning
--cursorintnonereturn events after this feed position (0 = from the start of the retention window)
--limitintnonemaximum events per page (server default 100, maximum 500)
--rawboolfalseprint raw response without pretty-printing
--streamboolfalsestream the live SSE push instead of reading the feed (no replay; blocked by some ingresses, prefer 'events tail')
--typesstringnonecomma-separated event names to include (e.g. transfer_completed,job_completed)
--wait_sintnonewhen nothing is past --cursor yet, hold the read open up to this many seconds for the next event

Endpoint: GET /api/events. MCP tool name: get_events.

clika-rt events tail

Streams the durable org event feed (GET /api/events?cursor=) as one JSON line per event: job/transfer/command completions, device online/offline edges, alert triggers and more. Prints everything retained after --cursor (default 0 = the whole retention window), then blocks on the server's wait_s long-poll and prints each new event the moment it lands, no tick-polling. The last line's "id" is the cursor to resume from.

clika-rt events tail [flags]
FlagTypeDefaultMeaning
--cursorintnonestart after this feed position (0 = from the start of the retention window)
--onceboolfalseprint what the feed holds after --cursor and exit instead of following
--typesstringnonecomma-separated event names to include (e.g. transfer_completed,job_completed)

clika-rt metrics

metrics has 2 subcommands.

clika-rt metrics data

Query metric data points

clika-rt metrics data <name> [flags]

Positional arguments: required <name>.

FlagTypeDefaultMeaning
--endstringnoneRange end (RFC3339)
--limitstringnoneMax points to return (default: 1000)
--offsetstringnoneOffset for pagination
--rawboolfalseprint raw response without pretty-printing
--startstringnoneRange start (RFC3339)

Endpoint: GET /api/metrics/{name}/data. MCP tool name: get_metrics_name_data.

clika-rt metrics log

Log metric data points

clika-rt metrics log [flags]
FlagTypeDefaultMeaning
--bodystringnonerequest body (inline JSON)
--body-filestringnonerequest body (path to a JSON file)
--rawboolfalseprint raw response without pretty-printing

Endpoint: POST /api/metrics/log. MCP tool name: post_metrics_log.

clika-rt alerts

alerts has 6 subcommands.

clika-rt alerts history

List alert history

clika-rt alerts history [flags]
FlagTypeDefaultMeaning
--pagestringnonePage number (default: 1)
--page_sizestringnoneItems per page (default: 50, max: 500)
--rawboolfalseprint raw response without pretty-printing

Endpoint: GET /api/alerts/history. MCP tool name: get_alerts_history.

clika-rt alerts rules

List alert rules

clika-rt alerts rules [flags]
FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: GET /api/alerts/rules. MCP tool name: get_alerts_rules.

clika-rt alerts rules-create

Create alert rule

clika-rt alerts rules-create [flags]
FlagTypeDefaultMeaning
--bodystringnonerequest body (inline JSON)
--body-filestringnonerequest body (path to a JSON file)
--rawboolfalseprint raw response without pretty-printing

Endpoint: POST /api/alerts/rules. MCP tool name: post_alerts_rules.

clika-rt alerts rules-delete-id

Delete alert rule

clika-rt alerts rules-delete-id <id> [flags]

Positional arguments: required <id>.

FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: DELETE /api/alerts/rules/{id}. MCP tool name: delete_alerts_rules_id.

clika-rt alerts rules-id

Get alert rule

clika-rt alerts rules-id <id> [flags]

Positional arguments: required <id>.

FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: GET /api/alerts/rules/{id}. MCP tool name: get_alerts_rules_id.

clika-rt alerts rules-update-id

Update alert rule

clika-rt alerts rules-update-id <id> [flags]

Positional arguments: required <id>.

FlagTypeDefaultMeaning
--bodystringnonerequest body (inline JSON)
--body-filestringnonerequest body (path to a JSON file)
--rawboolfalseprint raw response without pretty-printing

Endpoint: PUT /api/alerts/rules/{id}. MCP tool name: put_alerts_rules_id.

clika-rt notifications

notifications has 5 subcommands.

clika-rt notifications delete-delete

Clear all notifications

clika-rt notifications delete-delete [flags]
FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: DELETE /api/notifications. MCP tool name: delete_notifications.

clika-rt notifications delete-delete-id

Delete notification

clika-rt notifications delete-delete-id <id> [flags]

Positional arguments: required <id>.

FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: DELETE /api/notifications/{id}. MCP tool name: delete_notifications_id.

clika-rt notifications list

List notifications

clika-rt notifications list [flags]
FlagTypeDefaultMeaning
--limitstring50, max 200Page size
--offsetstring0Page offset
--rawboolfalseprint raw response without pretty-printing
--unreadstringnoneWhen true, return only unread notifications

Endpoint: GET /api/notifications. MCP tool name: get_notifications.

clika-rt notifications mark-all-read

Mark all notifications as read

clika-rt notifications mark-all-read [flags]
FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: POST /api/notifications/mark-all-read. MCP tool name: post_notifications_mark_all_read.

clika-rt notifications mark-read

Mark notification as read

clika-rt notifications mark-read <id> [flags]

Positional arguments: required <id>.

FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: POST /api/notifications/{id}/mark-read. MCP tool name: post_notifications_id_mark_read.

clika-rt audit

audit has 2 subcommands.

clika-rt audit get

Resource audit history

clika-rt audit get <target_type> <target_id> [flags]

Positional arguments: required <target_type>, <target_id>.

FlagTypeDefaultMeaning
--limitstring100, max 500Page size
--offsetstring0Page offset
--rawboolfalseprint raw response without pretty-printing

Endpoint: GET /api/audit/{target_type}/{target_id}. MCP tool name: get_audit_target_type_target_id.

clika-rt audit list

List audit / activity events

clika-rt audit list [flags]
FlagTypeDefaultMeaning
--actionstringnoneFilter by action name
--actor_idstringnoneFilter by actor id
--categorystringnonemutation|authz|access|utilization
--limitstring100, max 500Page size
--offsetstring0Page offset
--rawboolfalseprint raw response without pretty-printing
--sincestringnoneInclusive lower bound (RFC3339)
--target_idstringnoneFilter by target id
--target_typestringnoneFilter by target type
--untilstringnoneInclusive upper bound (RFC3339)

Endpoint: GET /api/audit. MCP tool name: get_audit.

clika-rt webhooks

webhooks has 6 subcommands.

clika-rt webhooks create

Create webhook

clika-rt webhooks create [flags]
FlagTypeDefaultMeaning
--bodystringnonerequest body (inline JSON)
--body-filestringnonerequest body (path to a JSON file)
--rawboolfalseprint raw response without pretty-printing

Endpoint: POST /api/webhooks. MCP tool name: post_webhooks.

clika-rt webhooks delete

Delete webhook

clika-rt webhooks delete <id> [flags]

Positional arguments: required <id>.

FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: DELETE /api/webhooks/{id}. MCP tool name: delete_webhooks_id.

clika-rt webhooks get

Get webhook

clika-rt webhooks get <id> [flags]

Positional arguments: required <id>.

FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: GET /api/webhooks/{id}. MCP tool name: get_webhooks_id.

clika-rt webhooks list

List webhooks

clika-rt webhooks list [flags]
FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: GET /api/webhooks. MCP tool name: get_webhooks.

clika-rt webhooks test

Test webhook

clika-rt webhooks test <id> [flags]

Positional arguments: required <id>.

FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: POST /api/webhooks/{id}/test. MCP tool name: post_webhooks_id_test.

clika-rt webhooks update

Update webhook

clika-rt webhooks update <id> [flags]

Positional arguments: required <id>.

FlagTypeDefaultMeaning
--bodystringnonerequest body (inline JSON)
--body-filestringnonerequest body (path to a JSON file)
--rawboolfalseprint raw response without pretty-printing

Endpoint: PUT /api/webhooks/{id}. MCP tool name: put_webhooks_id.

clika-rt health

health has 1 subcommands.

clika-rt health list

Health check

clika-rt health list [flags]
FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: GET /api/health. MCP tool name: get_health.

clika-rt livez

livez has 1 subcommands.

clika-rt livez list

Liveness check

clika-rt livez list [flags]
FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: GET /api/livez. MCP tool name: get_livez.

clika-rt ready

ready has 1 subcommands.

clika-rt ready list

Readiness check

clika-rt ready list [flags]
FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: GET /api/ready. MCP tool name: get_ready.