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

# One-shot envelope of every knowledge analytics pipe



## OpenAPI

````yaml /api-reference/openapi.json get /v1/analytics/knowledge/dashboard
openapi: 3.1.0
info:
  title: Feather API
  description: >-
    Unified customer experience platform API. Manages identity, conversations,
    memory, agents, procedures, policies, model routing, knowledge bases,
    integrations, and runtime execution.
  version: 1.21.0
servers:
  - url: https://api-sandbox.featherhq.com
    description: Sandbox
  - url: http://localhost:8000
    description: Local dev
security: []
paths:
  /v1/analytics/knowledge/dashboard:
    get:
      tags:
        - analytics
      summary: One-shot envelope of every knowledge analytics pipe
      operationId: getKnowledgeDashboard
      parameters:
        - name: granularity
          in: query
          required: false
          schema:
            type: string
            pattern: ^(minute|hour|day|week)$
            default: hour
            title: Granularity
        - name: knowledge_base_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Knowledge Base Id
        - name: source_type
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Source Type
        - name: hash_method
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Hash Method
        - name: start_date
          in: query
          required: true
          schema:
            type: string
            format: date
            title: Start Date
        - name: end_date
          in: query
          required: true
          schema:
            type: string
            format: date
            title: End Date
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KnowledgeDashboardEnvelope'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Authentication required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - APIKeyHeader: []
components:
  schemas:
    KnowledgeDashboardEnvelope:
      properties:
        adoption:
          items:
            $ref: '#/components/schemas/KbAdoptionRow'
          type: array
          title: Adoption
        ingestion:
          items:
            $ref: '#/components/schemas/DocumentIngestionTimeseriesRow'
          type: array
          title: Ingestion
        latency:
          items:
            $ref: '#/components/schemas/DocumentProcessingLatencyRow'
          type: array
          title: Latency
        cleanup:
          items:
            $ref: '#/components/schemas/DocumentCleanupSummaryRow'
          type: array
          title: Cleanup
        retrieval:
          items:
            $ref: '#/components/schemas/DocumentRetrievalTimeseriesRow'
          type: array
          title: Retrieval
        inventory:
          $ref: '#/components/schemas/InventoryEnvelope'
        freshness:
          items:
            $ref: '#/components/schemas/ConnectorFreshnessRow'
          type: array
          title: Freshness
      type: object
      required:
        - adoption
        - ingestion
        - latency
        - cleanup
        - retrieval
        - inventory
        - freshness
      title: KnowledgeDashboardEnvelope
      description: Single envelope returned by ``/v1/analytics/knowledge/dashboard``.
    ErrorResponse:
      properties:
        error:
          type: string
          title: Error
        message:
          type: string
          title: Message
      type: object
      required:
        - error
        - message
      title: ErrorResponse
      description: Standard error response returned by all API error handlers.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    KbAdoptionRow:
      properties:
        knowledge_base_id:
          type: string
          title: Knowledge Base Id
        documents_active:
          type: integer
          title: Documents Active
        documents_failed:
          type: integer
          title: Documents Failed
        documents_attempted:
          type: integer
          title: Documents Attempted
        adoption_rate_pct:
          type: number
          title: Adoption Rate Pct
        unique_documents:
          type: integer
          title: Unique Documents
      type: object
      required:
        - knowledge_base_id
        - documents_active
        - documents_failed
        - documents_attempted
        - adoption_rate_pct
        - unique_documents
      title: KbAdoptionRow
    DocumentIngestionTimeseriesRow:
      properties:
        time_bucket:
          type: string
          format: date-time
          title: Time Bucket
        created:
          type: integer
          title: Created
        completed:
          type: integer
          title: Completed
        failed:
          type: integer
          title: Failed
        success_rate_pct:
          type: number
          title: Success Rate Pct
      type: object
      required:
        - time_bucket
        - created
        - completed
        - failed
        - success_rate_pct
      title: DocumentIngestionTimeseriesRow
    DocumentProcessingLatencyRow:
      properties:
        time_bucket:
          type: string
          format: date-time
          title: Time Bucket
        terminal_events:
          type: integer
          title: Terminal Events
        p50_ms:
          type: number
          title: P50 Ms
        p90_ms:
          type: number
          title: P90 Ms
        p95_ms:
          type: number
          title: P95 Ms
        p99_ms:
          type: number
          title: P99 Ms
        avg_ms:
          type: number
          title: Avg Ms
        max_ms:
          type: number
          title: Max Ms
      type: object
      required:
        - time_bucket
        - terminal_events
        - p50_ms
        - p90_ms
        - p95_ms
        - p99_ms
        - avg_ms
        - max_ms
      title: DocumentProcessingLatencyRow
    DocumentCleanupSummaryRow:
      properties:
        time_bucket:
          type: string
          format: date-time
          title: Time Bucket
        failed:
          type: integer
          title: Failed
        archived:
          type: integer
          title: Archived
        cleaned_up:
          type: integer
          title: Cleaned Up
        recovered:
          type: integer
          title: Recovered
        net_unrecovered_failures:
          type: integer
          title: Net Unrecovered Failures
        cleanup_rate_pct:
          type: number
          title: Cleanup Rate Pct
      type: object
      required:
        - time_bucket
        - failed
        - archived
        - cleaned_up
        - recovered
        - net_unrecovered_failures
        - cleanup_rate_pct
      title: DocumentCleanupSummaryRow
    DocumentRetrievalTimeseriesRow:
      properties:
        time_bucket:
          type: string
          format: date-time
          title: Time Bucket
        total:
          type: integer
          title: Total
        hits:
          type: integer
          title: Hits
        misses:
          type: integer
          title: Misses
        reranked:
          type: integer
          title: Reranked
        errors:
          type: integer
          title: Errors
        hit_rate_pct:
          type: number
          title: Hit Rate Pct
        avg_results:
          type: number
          title: Avg Results
        avg_duration_ms:
          type: number
          title: Avg Duration Ms
        p50_ms:
          type: number
          title: P50 Ms
        p90_ms:
          type: number
          title: P90 Ms
        p95_ms:
          type: number
          title: P95 Ms
        p99_ms:
          type: number
          title: P99 Ms
      type: object
      required:
        - time_bucket
        - total
        - hits
        - misses
        - reranked
        - errors
        - hit_rate_pct
        - avg_results
        - avg_duration_ms
        - p50_ms
        - p90_ms
        - p95_ms
        - p99_ms
      title: DocumentRetrievalTimeseriesRow
    InventoryEnvelope:
      properties:
        summary:
          $ref: '#/components/schemas/KbInventoryRow'
        by_source_type:
          items:
            $ref: '#/components/schemas/InventoryBySourceTypeRow'
          type: array
          title: By Source Type
        by_hash_method:
          items:
            $ref: '#/components/schemas/InventoryByHashMethodRow'
          type: array
          title: By Hash Method
        growth:
          $ref: '#/components/schemas/InventoryGrowthRow'
      type: object
      required:
        - summary
        - by_source_type
        - by_hash_method
        - growth
      title: InventoryEnvelope
    ConnectorFreshnessRow:
      properties:
        knowledge_base_source_id:
          type: string
          title: Knowledge Base Source Id
        knowledge_base_id:
          type: string
          title: Knowledge Base Id
        provider:
          type: string
          title: Provider
        last_status:
          type: string
          title: Last Status
        last_event_type:
          type: string
          title: Last Event Type
        last_sync_started_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Sync Started At
        last_sync_completed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Sync Completed At
        last_duration_ms:
          anyOf:
            - type: number
            - type: 'null'
          title: Last Duration Ms
        last_items_processed:
          type: integer
          title: Last Items Processed
        last_items_succeeded:
          type: integer
          title: Last Items Succeeded
        last_items_failed:
          type: integer
          title: Last Items Failed
        last_items_unchanged:
          type: integer
          title: Last Items Unchanged
        last_error_message:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Error Message
        last_event_at:
          type: string
          format: date-time
          title: Last Event At
        time_since_last_event_seconds:
          type: integer
          title: Time Since Last Event Seconds
      type: object
      required:
        - knowledge_base_source_id
        - knowledge_base_id
        - provider
        - last_status
        - last_event_type
        - last_items_processed
        - last_items_succeeded
        - last_items_failed
        - last_items_unchanged
        - last_event_at
        - time_since_last_event_seconds
      title: ConnectorFreshnessRow
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    KbInventoryRow:
      properties:
        total_documents:
          type: integer
          title: Total Documents
        total_chunks:
          type: integer
          title: Total Chunks
        total_tokens:
          type: integer
          title: Total Tokens
        normalized_pct:
          type: number
          title: Normalized Pct
        documents_failed_now:
          type: integer
          title: Documents Failed Now
        documents_processing_now:
          type: integer
          title: Documents Processing Now
        knowledge_bases_count:
          type: integer
          title: Knowledge Bases Count
      type: object
      required:
        - total_documents
        - total_chunks
        - total_tokens
        - normalized_pct
        - documents_failed_now
        - documents_processing_now
        - knowledge_bases_count
      title: KbInventoryRow
    InventoryBySourceTypeRow:
      properties:
        source_type:
          type: string
          title: Source Type
        documents:
          type: integer
          title: Documents
        chunks:
          type: integer
          title: Chunks
        tokens:
          type: integer
          title: Tokens
      type: object
      required:
        - source_type
        - documents
        - chunks
        - tokens
      title: InventoryBySourceTypeRow
    InventoryByHashMethodRow:
      properties:
        hash_method:
          type: string
          title: Hash Method
        documents:
          type: integer
          title: Documents
        chunks:
          type: integer
          title: Chunks
        tokens:
          type: integer
          title: Tokens
      type: object
      required:
        - hash_method
        - documents
        - chunks
        - tokens
      title: InventoryByHashMethodRow
    InventoryGrowthRow:
      properties:
        created_24h:
          type: integer
          title: Created 24H
        created_7d:
          type: integer
          title: Created 7D
        created_30d:
          type: integer
          title: Created 30D
        failed_7d:
          type: integer
          title: Failed 7D
        cleaned_up_7d:
          type: integer
          title: Cleaned Up 7D
      type: object
      required:
        - created_24h
        - created_7d
        - created_30d
        - failed_7d
        - cleaned_up_7d
      title: InventoryGrowthRow
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: x-api-key

````