> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kinetica.com/llms.txt
> Use this file to discover all available pages before exploring further.

# /alter/tablemonitor

```
URL: http://<db.host>:<db.port>/alter/tablemonitor
```

Alters a table monitor previously created with
[/create/tablemonitor](/content/api/rest/create_tablemonitor_rest).

## Input Parameter Description

<ParamField body="topic_id" type="string">
  The topic ID returned by [/create/tablemonitor](/content/api/rest/create_tablemonitor_rest).
</ParamField>

<ParamField body="monitor_updates_map" type="map of string to strings">
  Map containing the properties of the table monitor to be updated. Error if empty.

  <Expandable title="monitor_updates_map">
    <ParamField body="schema_name">
      Updates the schema name.  If *schema\_name* doesn't exist, an error will be thrown. If *schema\_name* is empty, then the user's default schema will be used.
    </ParamField>

    <ParamField body="max_consecutive_failures">
      Updates the maximum number of consecutive failures before suspending the stream. A value of '-1' to disables auto-suspend. This value is by rank and not overall.
    </ParamField>

    <ParamField body="notifications">
      Updates the state of the monitor.

      The default value is an empty map ( \{} ).

      The supported values are:

      * resume
      * suspend
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="options" type="map of string to strings">
  Optional parameters.

  The default value is an empty map ( \{} ).
</ParamField>

## Output Parameter Description

The Kinetica server embeds the endpoint response inside a standard response structure which contains status information and the actual response to the query.  Here is a description of the various fields of the wrapper:

<ResponseField name="status" type="String">
  'OK' or 'ERROR'
</ResponseField>

<ResponseField name="message" type="String">
  Empty if success or an error message
</ResponseField>

<ResponseField name="data_type" type="String">
  'alter\_table\_monitor\_response' or 'none' in case of an error
</ResponseField>

<ResponseField name="data" type="String">
  Empty string
</ResponseField>

<ResponseField name="data_str" type="JSON or String">
  This embedded JSON represents the result of the /alter/tablemonitor endpoint:

  <Expandable title="data_str">
    <ResponseField name="topic_id" type="string">
      Value of input parameter *topic\_id*.
    </ResponseField>

    <ResponseField name="info" type="map of string to strings">
      Additional information.
    </ResponseField>
  </Expandable>

  Empty string in case of an error.
</ResponseField>
