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

# Ingest Discovery

> Agent batch-reports observed AI destinations (host + counts, no content).

The entitlement is NOT re-checked here. ``resolve_agent_device`` already
refuses any device-authenticated request from a workspace without the DLP
endpoint entitlement, with a structured 403 that names the reason -- which
is the right check for this caller, and the right status code. A second
gate would only be another thing to drift.



## OpenAPI

````yaml /api-reference/openapi.json post /api/runtime-security/agent/discovery
openapi: 3.1.0
info:
  title: Blindsight API
  version: 0.1.0
  description: >-
    The full Blindsight REST surface, generated from the running application.
    Replace the server host with your own deployment.


    For the Runtime Security integration surface (scan, proxy, tool calls) see
    the Runtime Security spec, which is hand written and carries worked
    examples.
servers:
  - url: https://api.your-blindsight.com
    description: Your Blindsight deployment
security: []
paths:
  /api/runtime-security/agent/discovery:
    post:
      tags:
        - runtime-security-discovery
      summary: Ingest Discovery
      description: >-
        Agent batch-reports observed AI destinations (host + counts, no
        content).


        The entitlement is NOT re-checked here. ``resolve_agent_device`` already

        refuses any device-authenticated request from a workspace without the
        DLP

        endpoint entitlement, with a structured 403 that names the reason --
        which

        is the right check for this caller, and the right status code. A second

        gate would only be another thing to drift.
      operationId: ingest_discovery_api_runtime_security_agent_discovery_post
      parameters:
        - name: X-Blindsight-Device-Token
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: X-Blindsight-Device-Token
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DiscoveryReport'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    DiscoveryReport:
      properties:
        observations:
          items:
            $ref: '#/components/schemas/DiscoveryObservation'
          type: array
          title: Observations
      type: object
      title: DiscoveryReport
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    DiscoveryObservation:
      properties:
        host:
          type: string
          maxLength: 255
          title: Host
        provider:
          anyOf:
            - type: string
              maxLength: 64
            - type: 'null'
          title: Provider
        classification:
          anyOf:
            - type: string
              maxLength: 32
            - type: 'null'
          title: Classification
        hit_count:
          type: integer
          maximum: 1000000
          minimum: 0
          title: Hit Count
          default: 1
        first_seen:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: First Seen
        last_seen:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Seen
      type: object
      required:
        - host
      title: DiscoveryObservation
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError

````