# Update an Indexes table

This endpoint updates the "rule" of the given Indexes table.

Method Path Operation*
PATCH /account/services/indexes/{index} update_indexes_table

*

In order for a user to perform the "update_indexes_table" operation, the "update_indexes_table" permission must be included in the list of allowed actions in the statement of the user's role.

# Request

Parameter Type In Description
index
required
string path Name of the Indexes table to be updated.
rule
optional *
string body Rule used to select Twins which should be present in the given Indexes table.
properties
optional **
dictionary body
Dictionary containing a list of property column names and a list of data types of the corresponding property columns. You can add a new property or update the name of an exiting property. Please note that the entire properties dictionary must be included in the request body when adding new properties or updating the name of an existing property as the new properties content will replace the old content. When adding a new property, add a new property after the existing one(s) and a data type for this property to the "types" list. When updating a property, add a list containing the old and the new property (e.g. ["gdansk_ozone", "gdansk_ozone_new"]). When adding a new property, you must as well a new template for the new property.
Attribute Type Description
names list of strings Name(s) of the property column(s). Each of the names must match the regular expression (opens new window) ^[a-z_][0-9a-z_]{0,63}$.
types list of string, value is "int", "bigint", "smallint", "integer", "numeric", "double precision", "json", "jsonb", "bool", "boolean", "character varying", "varchar", "text", "date", "time", "interval", "timestamp", "timestamptz", or "uuid". Data types of the corresponding property columns.
templates
optional ***
dictionary body Dictionary containing templates for "properties" in form of key-value pairs:
key: property name,
value: template.
The templates follow the Python string format() convention (see Format String Syntax (opens new window)).

*

This parameter is optional. If it is not included in the request, no changes will be made to the Indexes table.

**

If the "properties" dictionary with attributes is provided in the request body, the "properties" dictionary from the request body will replace the current "properties" dictionary.

If no attributes are provided in the request body of "properties" ("properties": {}), or if "properties" with the value null is provided in the request body, the response will return an error, because "properties" columns cannot be removed.
If the request body does not contain "properties", no changes will be made to the "properties" field.

***

If the "templates" dictionary with attributes is provided in the request body, the "templates" dictionary from the request body will replace the current "templates" dictionary.

If no attributes are provided in the request body of "templates" ("templates": {}), or if "templates" with the value null is provided in the request body, the response will return an error, because "templates" columns cannot be removed.
If the request body does not contain "templates", no changes will be made to the "templates" field.
The "templates" dictionary must be provided if you are adding a new property.

# Response

Attribute Type Description
stats dictionary
Indexes table stats.
Attribute Type Description
table_size integer Size, in bytes, of actual data stored in the database table backing the Index.
index_size integer Size, in bytes, of indices created on the database table backing the index.
toast_size integer Size, in bytes, of the TOAST (The Oversized-Attribute Storage Technique (opens new window)) data for the database table backing the index.
total_size integer Total size, in bytes, of the database relation (sum of actual, indices and toast data) backing the index.
properties dictionary
Dictionary containing a list of property names and a list of data types of the corresponding properties.
Attribute Type Description
names list of strings Name/names of the property/properties. Each of the names must match the regular expression (opens new window) ^[a-z_][0-9a-z_]{0,63}$.
types list of string, value is "int", "bigint", "smallint", "integer", "numeric", "double precision", "json", "jsonb", "bool", "boolean", "character varying", "varchar", "text", "date", "time", "interval", "timestamp", "timestamptz", or "uuid". Data types of the corresponding properties.
rule string Rule used to select Twins which should be present in the given Indexes table.
templates dictionary Dictionary containing templates for "properties" in form of key-value pairs:
key: property name,
value: template.
The templates follow the Python string format() convention (see Format String Syntax (opens new window)).

# Status codes

Requests to this endpoint result in generic status codes. For a comprehensive list of status codes, please consult the Status Codes section.