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

# Pin a reviewed agent card

> Reads the live card again and pins it only if its digest is the one sent. Approving the pinned digest changes nothing.



## OpenAPI

````yaml /trustgate/api/openapi.json post /v1/gateways/{gateway_id}/registries/{id}/agent-card/approve
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}/registries/{id}/agent-card/approve:
    post:
      tags:
        - registries
      summary: Pin a reviewed agent card
      description: >-
        Reads the live card again and pins it only if its digest is the one
        sent. Approving the pinned digest changes nothing.
      parameters:
        - description: Gateway id
          name: gateway_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - description: Registry id
          name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_request.ApproveAgentCardRequest
        description: Reviewed digest
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.RegistryResponse
        '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
        '409':
          description: The live card no longer has that digest
          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_request.ApproveAgentCardRequest:
      type: object
      properties:
        digest:
          type: string
    github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.RegistryResponse:
      type: object
      properties:
        a2a_target:
          $ref: >-
            #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.A2ATargetResponse
        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
        pricing:
          $ref: >-
            #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.PricingResponse
        provider:
          type: string
        provider_options:
          type: object
          additionalProperties: {}
        shared_account:
          description: >-
            SharedAccount is set by the flat listing on MCP instances that hold
            one

            account for every caller, so it shows whether that account is
            connected.
          allOf:
            - $ref: >-
                #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.SharedAccountStateResponse
        type:
          type: string
        updated_at:
          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.A2ATargetResponse:
      type: object
      properties:
        allowed_methods:
          type: array
          items:
            type: string
        auth:
          $ref: >-
            #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.MCPAuthResponse
        azure_foundry:
          $ref: >-
            #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_domain_registry.FoundryLocator
        bedrock_agentcore:
          $ref: >-
            #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_domain_registry.AgentCoreLocator
        card:
          type: object
        card_auth:
          type: string
        card_digest:
          type: string
        card_pinned_at:
          type: string
        card_url:
          type: string
        cloud_auth:
          $ref: >-
            #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.A2ACloudAuthResponse
        endpoint:
          type: string
        headers:
          type: object
          additionalProperties:
            type: string
        protocol_version:
          type: string
        provider:
          type: string
        resolved_card_url:
          type: string
        url:
          type: string
        vertex_agent_engine:
          $ref: >-
            #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_domain_registry.VertexLocator
    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
        openapi:
          $ref: >-
            #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.OpenAPITargetResponse
        origin:
          description: >-
            Origin is "store" when the gateway materialised this registry from
            the

            catalog itself (self-service install, approval, consumer binding).
          type: string
        source:
          type: string
        transport:
          type: string
        url:
          type: string
    github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.PricingResponse:
      type: object
      properties:
        discount:
          type: number
        overrides:
          type: object
          additionalProperties:
            $ref: >-
              #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.PriceOverrideResponse
    github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.SharedAccountStateResponse:
      type: object
      properties:
        connected:
          type: boolean
        needs_reconnect:
          type: boolean
    github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.MCPAuthResponse:
      type: object
      properties:
        account:
          description: |-
            Account is whose account a forwarded credential is; empty means the
            caller's own.
          type: string
        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
        identity_id:
          description: |-
            IdentityID is the gateway oauth2 auth that signs an obo or
            token_exchange call.
          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_endpoint_auth_method:
          type: string
        token_url:
          type: string
        value:
          description: '#nosec G117 -- masked before serialization'
          type: string
    github_com_NeuralTrust_TrustGate_pkg_domain_registry.FoundryLocator:
      type: object
      properties:
        agent_name:
          type: string
        project_endpoint:
          type: string
    github_com_NeuralTrust_TrustGate_pkg_domain_registry.AgentCoreLocator:
      type: object
      properties:
        qualifier:
          type: string
        runtime_arn:
          type: string
    github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.A2ACloudAuthResponse:
      type: object
      properties:
        aws:
          $ref: >-
            #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.A2AAWSAuthResponse
        azure:
          $ref: >-
            #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.AzureAuthResponse
        gcp:
          $ref: >-
            #/components/schemas/github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.A2AGCPAuthResponse
    github_com_NeuralTrust_TrustGate_pkg_domain_registry.VertexLocator:
      type: object
      properties:
        location:
          type: string
        project:
          type: string
        reasoning_engine_id:
          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.OpenAPITargetResponse:
      type: object
      properties:
        spec_url:
          type: string
    github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.PriceOverrideResponse:
      type: object
      properties:
        cache_read:
          type: number
        cache_write:
          type: number
        cache_write_1h:
          type: number
        input:
          type: number
        output:
          type: number
    github_com_NeuralTrust_TrustGate_pkg_api_handler_http_registry_response.A2AAWSAuthResponse:
      type: object
      properties:
        access_key_id:
          type: string
        external_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.A2AGCPAuthResponse:
      type: object
      properties:
        impersonate_service_account:
          type: string
        service_account_json:
          description: '#nosec G117 -- masked before serialization'
          type: string
  securitySchemes:
    BearerAuth:
      type: apiKey
      name: Authorization
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.