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

# List Policies (Legacy)

> List all policies with pagination support

<Warning>
  **Archived**: This endpoint is legacy. Use the new [List Guardrails](/api-reference/guardrails-api-reference/endpoint/list-guardrails) endpoint instead, which supports separate input/output detector configurations.
</Warning>

# List Policies

Retrieve a paginated list of all guardrails policies in your account.

## Query Parameters

| Parameter  | Type    | Required | Default | Description                                          |
| ---------- | ------- | -------- | ------- | ---------------------------------------------------- |
| `status`   | string  | No       | -       | Filter policies by status                            |
| `page`     | integer | No       | 1       | Page number (must be >= 1)                           |
| `per_page` | integer | No       | 10      | Number of items per page (must be between 1 and 100) |

## Example Request

```bash theme={"system"}
curl -X GET "https://api.enkryptai.com/guardrails/list-policies?page=1&per_page=10" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

## Example Response

```json theme={"system"}
{
  "policies": [
    {
      "policy_id": "1234567890",
      "name": "Test Guardrails Policy",
      "description": "This is a test policy",
      "created_at": "2025-02-21T09:28:52.651201+00:00",
      "updated_at": "2025-02-21T09:28:52.651201+00:00",
      "project_name": "default"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 10,
    "total_count": 25,
    "total_pages": 3,
    "has_next": true,
    "has_previous": false
  }
}
```

## Error Responses

### 400 Bad Request - Invalid Pagination Parameters

```json theme={"system"}
{
  "error": "Invalid pagination parameters. Page must be >= 1, per_page must be between 1 and 100"
}
```

## Pagination

The response includes pagination metadata to help you navigate through the results:

* `page`: Current page number
* `per_page`: Number of items per page
* `total_count`: Total number of items across all pages
* `total_pages`: Total number of pages
* `has_next`: Boolean indicating if there's a next page
* `has_previous`: Boolean indicating if there's a previous page

To get the next page, increment the `page` parameter. For example, to get page 2:

```
GET /guardrails/list-policies?page=2&per_page=10
```


## OpenAPI

````yaml GET /guardrails/list-policies
openapi: 3.0.0
info:
  title: Enkrypt AI APIs
  version: 2.0.0
servers:
  - url: https://api.enkryptai.com
security:
  - apiKeyAuth: []
tags:
  - name: Guardrails
  - name: Code of Conduct
  - name: Endpoints
  - name: Datasets
  - name: Redteam
  - name: Deployments
  - name: AI Proxy
  - name: Leaderboard
  - name: Archived
  - name: MCP Hub
    description: >-
      MCP Hub vulnerability scanning APIs. Submitting scans (the POST endpoints)
      is open to all authenticated callers. The scan **retrieval** APIs — Get
      Scan Job Status, Get Complete Scan Results, List Scans, and Get MCP Hub
      Scan Statistics (the GET endpoints) — are an **enterprise data-license
      feature**: they require your organization to have MCP Hub API access
      enabled by Enkrypt, otherwise they return `403`. Contact us at
      support@enkryptai.com to enable access.
  - name: MCP Registry Servers
  - name: MCP Gateways
  - name: MCP Playground
paths:
  /guardrails/list-policies:
    get:
      tags:
        - Archived
      summary: List Policies
      operationId: list_policies
      parameters:
        - in: query
          name: status
          required: false
          schema:
            title: Status
            type: string
            description: Filter policies by status
        - in: query
          name: page
          required: false
          schema:
            title: Page
            type: integer
            default: 1
            minimum: 1
            example: 1
            description: Page number (must be >= 1)
        - in: query
          name: per_page
          required: false
          schema:
            title: Per Page
            type: integer
            default: 10
            minimum: 1
            maximum: 100
            example: 10
            description: Number of items per page (must be between 1 and 100)
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPoliciesResponseObject'
        '400':
          description: Bad Request - Invalid pagination parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: >-
                      Invalid pagination parameters. Page must be >= 1, per_page
                      must be between 1 and 100
      deprecated: true
components:
  schemas:
    ListPoliciesResponseObject:
      title: ListPoliciesResponseObject
      type: object
      properties:
        policies:
          title: policies
          type: array
          items:
            title: Policy
            type: object
            properties:
              policy_id:
                title: policy_id
                type: string
              name:
                title: name
                type: string
              description:
                title: description
                type: string
              created_at:
                title: created_at
                type: string
              updated_at:
                title: updated_at
                type: string
              project_name:
                title: project_name
                type: string
        pagination:
          title: Pagination
          type: object
          properties:
            page:
              title: Page
              type: integer
              example: 1
              description: Current page number
            per_page:
              title: Per Page
              type: integer
              example: 10
              description: Number of items per page
            total_count:
              title: Total Count
              type: integer
              example: 25
              description: Total number of items
            total_pages:
              title: Total Pages
              type: integer
              example: 3
              description: Total number of pages
            has_next:
              title: Has Next
              type: boolean
              example: true
              description: Whether there is a next page
            has_previous:
              title: Has Previous
              type: boolean
              example: false
              description: Whether there is a previous page
      example:
        policies:
          - policy_id: '1234567890'
            name: Test Guardrails Policy
            description: This is a test policy
            created_at: '2025-02-21T09:28:52.651201+00:00'
            updated_at: '2025-02-21T09:28:52.651201+00:00'
            project_name: default
        pagination:
          page: 1
          per_page: 10
          total_count: 25
          total_pages: 3
          has_next: true
          has_previous: false
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: apikey

````