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

> Returns one of two mutually exclusive variants: flat (items/page/size/total) when view and type are omitted, or grouped (view/groups/total_groups/total_instances) with view=grouped&type=LLM. Grouped requests require at most 200 total registries and must omit name, page, and size.



## OpenAPI

````yaml /trustgate/api/openapi.json get /v1/gateways/{gateway_id}/registries
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: /
security: []
paths:
  /v1/gateways/{gateway_id}/registries:
    get:
      tags:
        - registries
      summary: List registries
      description: >-
        Returns one of two mutually exclusive variants: flat
        (items/page/size/total) when view and type are omitted, or grouped
        (view/groups/total_groups/total_instances) with view=grouped&type=LLM.
        Grouped requests require at most 200 total registries and must omit
        name, page, and size.
      parameters:
        - description: Gateway id
          name: gateway_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - description: 'Flat view only: filter by name (substring match)'
          name: name
          in: query
          schema:
            type: string
        - description: 'Flat view only: page number (1-based)'
          name: page
          in: query
          schema:
            type: integer
        - description: 'Flat view only: page size (maximum 200)'
          name: size
          in: query
          schema:
            type: integer
        - description: Response view
          name: view
          in: query
          schema:
            type: string
            enum:
              - grouped
        - description: 'Grouped view only: required registry type; omit for flat view'
          name: type
          in: query
          schema:
            type: string
            enum:
              - LLM
      responses:
        '200':
          description: >-
            Mutually exclusive variants: flat (items/page/size/total) or grouped
            (view/groups/total_groups/total_instances)
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.ListRegistryViewResponse
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_httpio.ErrorBody
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_httpio.ErrorBody
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_httpio.ErrorBody
      security:
        - BearerAuth: []
components:
  schemas:
    github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.ListRegistryViewResponse:
      type: object
      properties:
        groups:
          type: array
          items:
            $ref: >-
              #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.RegistryProviderGroupResponse
        items:
          type: array
          items:
            $ref: >-
              #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.RegistryResponse
        page:
          type: integer
        size:
          type: integer
        total:
          type: integer
        total_groups:
          type: integer
        total_instances:
          type: integer
        view:
          type: string
    github_com_NeuralTrust_TrustGate_pkg_api_handler_http_httpio.ErrorBody:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
    github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.RegistryProviderGroupResponse:
      type: object
      properties:
        instance_count:
          type: integer
        instances:
          type: array
          items:
            $ref: >-
              #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.RegistryResponse
        provider:
          type: string
        type:
          type: string
    github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.RegistryResponse:
      type: object
      properties:
        auth:
          $ref: >-
            #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.TargetAuthResponse
        created_at:
          type: string
        description:
          type: string
        enabled:
          type: boolean
        gateway_id:
          type: string
        health_checks:
          $ref: >-
            #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.HealthChecksResponse
        id:
          type: string
        mcp_target:
          $ref: >-
            #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.MCPTargetResponse
        name:
          type: string
        provider:
          type: string
        provider_options:
          type: object
          additionalProperties: {}
        type:
          type: string
        updated_at:
          type: string
    github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.TargetAuthResponse:
      type: object
      properties:
        api_key:
          $ref: >-
            #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.APIKeyAuthResponse
        aws:
          $ref: >-
            #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.AWSAuthResponse
        azure:
          $ref: >-
            #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.AzureAuthResponse
        gcp_service_account:
          type: string
        oauth:
          $ref: >-
            #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.TargetOAuthConfigResponse
        type:
          type: string
    github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.HealthChecksResponse:
      type: object
      properties:
        headers:
          type: object
          additionalProperties:
            type: string
        interval:
          type: integer
        passive:
          type: boolean
        path:
          type: string
        threshold:
          type: integer
    github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.MCPTargetResponse:
      type: object
      properties:
        auth:
          $ref: >-
            #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.MCPAuthResponse
        code:
          type: string
        headers:
          type: object
          additionalProperties:
            type: string
        transport:
          type: string
        url:
          type: string
    github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.APIKeyAuthResponse:
      type: object
      properties:
        api_key:
          description: '#nosec G117'
          type: string
        header_name:
          type: string
        header_value:
          type: string
        param_location:
          type: string
        param_name:
          type: string
        param_value:
          type: string
    github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.AWSAuthResponse:
      type: object
      properties:
        access_key_id:
          type: string
        region:
          type: string
        role:
          type: string
        secret_access_key:
          description: '#nosec G117'
          type: string
        session_token:
          description: '#nosec G117'
          type: string
        use_role:
          type: boolean
    github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.AzureAuthResponse:
      type: object
      properties:
        api_key:
          description: '#nosec G117'
          type: string
        client_id:
          type: string
        client_secret:
          description: '#nosec G117'
          type: string
        endpoint:
          type: string
        tenant_id:
          type: string
        use_managed_identity:
          type: boolean
        version:
          type: string
    github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.TargetOAuthConfigResponse:
      type: object
      properties:
        audience:
          type: string
        client_id:
          type: string
        client_secret:
          description: '#nosec G117'
          type: string
        extra:
          type: object
          additionalProperties:
            type: string
        grant_type:
          type: string
        refresh_token:
          description: '#nosec G117'
          type: string
        scopes:
          type: array
          items:
            type: string
        token_url:
          type: string
        use_basic_auth:
          type: boolean
    github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.MCPAuthResponse:
      type: object
      properties:
        actor:
          type: string
        audience:
          type: string
        authorize_url:
          type: string
        client_id:
          type: string
        client_secret:
          description: '#nosec G117 -- masked before serialization'
          type: string
        expected_audience:
          type: string
        header:
          type: string
        mode:
          type: string
        pattern:
          type: string
        provider:
          type: string
        registration:
          type: string
        resource:
          type: string
        scope:
          type: string
        scopes:
          type: array
          items:
            type: string
        token_url:
          type: string
        value:
          description: '#nosec G117 -- masked before serialization'
          type: string
  securitySchemes:
    BearerAuth:
      type: apiKey
      name: Authorization
      in: header

````