> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.monite.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.monite.com/_mcp/server.

# ApprovalPoliciesTable component

## Overview

The `ApprovalPoliciesTable` component renders a table that displays the list of existing approval policies of the authenticated entity. The component supports searching, filtering, and pagination between these approval policies.

## Permissions

To access this component, the entity user must have `read` permissions for the `approval_policy` object. For more information, see [List of permissions](/api/concepts/authentication#permissions).

## Preview

![ApprovalPoliciesTable component preview](/_fern-img/c39175e743604857a9abefa8fb269abf79987c22ad8a7387628a8dd6b3b22115.webp)

> **Tip**
>
> You can move and organize the columns of the table the way you prefer.

## Usage

Bring in the `ApprovalPoliciesTable` component into your application as shown:

**`React.js`**

```jsx React.js
import { ApprovalPoliciesTable } from "@monite/sdk-react";

// This component must be rendered within the MoniteProvider wrapper
const ApprovalPoliciesTablePage = () => {
  return <ApprovalPoliciesTable />;
};
```

## Props

The following table shows all `ApprovalPoliciesTable` component properties, their types, and descriptions:

| Prop             | Type       | Description                                                                                                                         |
| :--------------- | :--------- | :---------------------------------------------------------------------------------------------------------------------------------- |
| `onChangeFilter` | `function` | This callback is triggered when the filtering options are changed.                                                                  |
| `onChangeSort`   | `function` | This callback is called when the current sorting order for any column is changed. It returns the newly sorted field and order.      |
| `onRowClick`     | `function` | This callback takes the identifier of the clicked row as a parameter and is triggered when an approval policy table row is clicked. |

The `onChangeSort` takes one argument whose value is an object with the following fields:

* **`sort`** - the field name of the column whose sort order was changed. For example, `policy_name`.
* **`order`** - the new sort order, either `asc` or `desc`

```js
(
  "sort": "ApprovalPolicyCursorFields",
  "order": "asc" | "desc" | null
) => void
```