---
title: "tool si.act.keep_monitor"
description: "its name, its predicate, the place it runs at, the kind of signal it makes, the strategy where one is chosen, and for a platform monitor the vertical: the monitor with its version, not armed; not ready while its predicate does not compile at its place, with the reasons from compile."
section: reference
address: /reference/tools/si-act-keep_monitor
contract: 0476e35e6e275db5
---

# tool si.act.keep_monitor

its name, its predicate, the place it runs at, the kind of signal it makes, the strategy where one is chosen, and for a platform monitor the vertical: the monitor with its version, not armed; not ready while its predicate does not compile at its place, with the reasons from compile.

[figure: Over MCP, si.act.keep_monitor takes KeepMonitorInput and returns a card whose body is Monitor.]

the monitor with its version, not armed; not ready while its predicate does not compile at its place, with the reasons from compile. The call needs the act grant at the strategy rung.



| | |
|---|---|
| input | [KeepMonitorInput](/concepts/keepmonitorinput) |
| result | a card whose body is [Monitor](/concepts/monitor) |
| read-only | no |
| destructive | yes |
| card address | `ui://scale-intelligence/cards/Monitor` |
| HTTP route | [`/v1/act/keep_monitor`](/reference/act/keep_monitor) |





| field | type | required | note |
|---|---|---|---|
| `name` | `text` | yes |  |
| `predicate` | [Predicate](/concepts/predicate) | yes | the tree, compiled at the place |
| `place` | [PlaceARunsAt](/concepts/placearunsat) | yes |  |
| `kind_of_signal` | [KindOfSignal](/concepts/kindofsignal) | yes |  |
| `strategy` | `id` | no | the brand's standing strategy unless one is chosen |
| `vertical` | `text` | no | for a platform monitor |
