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

# List policy catalog

> Returns the catalog of available policies grouped by type. Each entry includes the settings schema needed to render its configuration form dynamically.



## OpenAPI

````yaml /trustgate/api/openapi.json get /v1/policies-catalog
openapi: 3.0.0
info:
  description: >-
    Administrative API for managing gateways and their registries, policies,
    consumers, roles and auth credentials.
  title: TrustGate Admin API
  contact:
    name: NeuralTrust
    url: https://neuraltrust.ai/contact
    email: support@neuraltrust.ai
  version: '1.0'
servers:
  - url: https://agentgateway-admin.dev.neuraltrust.ai
    description: Admin API
security: []
paths:
  /v1/policies-catalog:
    get:
      tags:
        - catalog
      summary: List policy catalog
      description: >-
        Returns the catalog of available policies grouped by type. Each entry
        includes the settings schema needed to render its configuration form
        dynamically.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_app_plugins.Catalog
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_helpers.ErrorBody
      security:
        - BearerAuth: []
components:
  schemas:
    github_com_NeuralTrust_TrustGate_pkg_app_plugins.Catalog:
      type: object
      properties:
        groups:
          type: array
          items:
            $ref: >-
              #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_app_plugins.CatalogGroup
    github_com_NeuralTrust_TrustGate_pkg_api_handler_http_helpers.ErrorBody:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
    github_com_NeuralTrust_TrustGate_pkg_app_plugins.CatalogGroup:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: >-
              #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_app_plugins.CatalogEntry
        type:
          type: string
    github_com_NeuralTrust_TrustGate_pkg_app_plugins.CatalogEntry:
      type: object
      properties:
        default_mode:
          $ref: >-
            #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_domain_policy.Mode
        description:
          type: string
        mandatory_stages:
          type: array
          items:
            $ref: >-
              #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_domain_policy.Stage
        name:
          type: string
        settings_schema:
          $ref: >-
            #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_app_plugins.SettingsSchema
        slug:
          type: string
        supported_modes:
          type: array
          items:
            $ref: >-
              #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_domain_policy.Mode
        supported_stages:
          type: array
          items:
            $ref: >-
              #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_domain_policy.Stage
    github_com_NeuralTrust_TrustGate_pkg_domain_policy.Mode:
      type: string
      enum:
        - enforce
        - throttle
        - observe
        - enforce
      x-enum-varnames:
        - ModeEnforce
        - ModeThrottle
        - ModeObserve
        - DefaultMode
    github_com_NeuralTrust_TrustGate_pkg_domain_policy.Stage:
      type: string
      enum:
        - pre_request
        - post_request
        - pre_response
        - post_response
      x-enum-varnames:
        - StagePreRequest
        - StagePostRequest
        - StagePreResponse
        - StagePostResponse
    github_com_NeuralTrust_TrustGate_pkg_app_plugins.SettingsSchema:
      type: object
      properties:
        fields:
          type: array
          items:
            $ref: >-
              #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_app_plugins.Field
    github_com_NeuralTrust_TrustGate_pkg_app_plugins.Field:
      type: object
      properties:
        default: {}
        description:
          type: string
        enum:
          type: array
          items:
            $ref: >-
              #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_app_plugins.EnumOption
        fields:
          description: Fields lists the child fields of an object.
          type: array
          items:
            $ref: >-
              #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_app_plugins.Field
        item:
          description: Item describes the element schema of an array.
          allOf:
            - $ref: >-
                #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_app_plugins.Field
        key:
          type: string
        key_options:
          description: >-
            KeyOptions lists the well-known keys of a map. Empty means free-form
            keys.
          type: array
          items:
            type: string
        label:
          type: string
        required:
          type: boolean
        type:
          $ref: >-
            #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_app_plugins.FieldType
        value:
          description: Value describes the value schema of a map.
          allOf:
            - $ref: >-
                #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_app_plugins.Field
    github_com_NeuralTrust_TrustGate_pkg_app_plugins.EnumOption:
      type: object
      properties:
        label:
          type: string
        value:
          type: string
    github_com_NeuralTrust_TrustGate_pkg_app_plugins.FieldType:
      type: string
      enum:
        - string
        - integer
        - number
        - boolean
        - duration
        - enum
        - object
        - array
        - map
      x-enum-varnames:
        - FieldTypeString
        - FieldTypeInteger
        - FieldTypeNumber
        - FieldTypeBoolean
        - FieldTypeDuration
        - FieldTypeEnum
        - FieldTypeObject
        - FieldTypeArray
        - FieldTypeMap
  securitySchemes:
    BearerAuth:
      type: apiKey
      name: Authorization
      in: header

````