> ## 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.

# /grant/permission/table

```
URL: http://<db.host>:<db.port>/grant/permission/table
```

Grants a table-level permission to a user or role.

## Input Parameter Description

<ParamField body="name" type="string">
  Name of the user or role to which the permission will be granted. Must be an existing user or role.
</ParamField>

<ParamField body="permission" type="string">
  Permission to grant to the user or role.

  * **table\_admin**: Full read/write and administrative access to the table.
  * **table\_insert**: Insert access to the table.
  * **table\_update**: Update access to the table.
  * **table\_delete**: Delete access to the table.
  * **table\_read**: Read access to the table.
</ParamField>

<ParamField body="table_name" type="string">
  Name of the table to which the permission grants access, in \[schema\_name.]table\_name format, using standard [name resolution rules](../../concepts/tables/#table-name-resolution). Must be an existing table, view, or schema. If a schema, the permission also applies to tables and views in the schema.
</ParamField>

<ParamField body="filter_expression" type="string">
  Optional filter expression to apply to this grant.  Only rows that match the filter will be affected.

  The default value is ''.
</ParamField>

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

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

  <Expandable title="options">
    <ParamField body="columns">
      Apply security to these columns, comma-separated.

      The default value is ''.
    </ParamField>
  </Expandable>
</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">
  'grant\_permission\_table\_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 /grant/permission/table endpoint:

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

    <ResponseField name="permission" type="string">
      Value of input parameter *permission*.
    </ResponseField>

    <ResponseField name="table_name" type="string">
      Value of input parameter *table\_name*.
    </ResponseField>

    <ResponseField name="filter_expression" type="string">
      Value of input parameter *filter\_expression*.
    </ResponseField>

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

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