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

> ## Agent Instructions
> These docs cover three products: TrustGate (AI agent gateway), TrustGuard (runtime security), and TrustTest (AI red teaming). Start from each product overview for the definition and How it works. Prefer the .md URL next to a page in /llms.txt when you need the full article. Use /llms-full.txt for a single-file dump of the site.

# Preview a principal's MCP Store state

> Returns what one user holds on the gateway's Store: installed and pending instances, plus per forwarded-auth source whether they linked their own account. Credential material is never returned.



## OpenAPI

````yaml /trustgate/api/openapi.json get /v1/gateways/{gateway_id}/store/principal
openapi: 3.0.0
info:
  description: >-
    Administrative API for managing gateways and their registries, policies,
    consumers 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}/store/principal:
    get:
      tags:
        - store
      summary: Preview a principal's MCP Store state
      description: >-
        Returns what one user holds on the gateway's Store: installed and
        pending instances, plus per forwarded-auth source whether they linked
        their own account. Credential material is never returned.
      parameters:
        - description: Gateway id
          name: gateway_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - description: Principal subject (the user id the gateway sees)
          name: sub
          in: query
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_store_response.Principal
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_httpio.ErrorBody
        '404':
          description: Not Found
          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_store_response.Principal:
      type: object
      properties:
        connections:
          type: array
          items:
            $ref: >-
              #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_store_response.PrincipalConnection
        installs:
          type: array
          items:
            $ref: >-
              #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_store_response.PrincipalInstall
        principal_sub:
          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_store_response.PrincipalConnection:
      type: object
      properties:
        account_ref:
          type: string
        code:
          type: string
        expires_at:
          type: string
        linked:
          type: boolean
        needs_reconnect:
          type: boolean
        provider:
          type: string
        registry:
          type: string
        registry_id:
          type: string
    github_com_NeuralTrust_TrustGate_pkg_api_handler_http_store_response.PrincipalInstall:
      type: object
      properties:
        code:
          type: string
        created_at:
          type: string
        installed_by:
          type: string
        instance_id:
          type: string
        name:
          type: string
        needs_config:
          description: >-
            NeedsConfig names the per-user values this installation is still
            missing.

            An approved request is recorded the moment the approver says yes,
            before

            anyone has asked the requester for their own account URL — the row
            reads

            as installed while its first tool call cannot resolve the server's
            URL.
          type: array
          items:
            type: string
        registry:
          type: string
        registry_id:
          type: string
        status:
          type: string
        updated_at:
          type: string
  securitySchemes:
    BearerAuth:
      type: apiKey
      name: Authorization
      in: header

````