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

# Get All Discovery Information

> Returns combined discovery information including extractors, stages, and manifest schema in a single request. Use this for comprehensive capability discovery.



## OpenAPI

````yaml get /v1/discovery
openapi: 3.1.0
info:
  title: Mixpeek API
  description: >-
    This is the Mixpeek API, providing access to various endpoints for data
    processing and retrieval.
  termsOfService: https://mixpeek.com/terms
  contact:
    name: Mixpeek Support
    url: https://mixpeek.com/contact
    email: info@mixpeek.com
  version: '0.82'
servers:
  - url: https://api.mixpeek.com
    description: Production
security: []
paths:
  /v1/discovery:
    get:
      tags:
        - Discovery
      summary: Get All Discovery Information
      description: >-
        Returns combined discovery information including extractors, stages, and
        manifest schema in a single request. Use this for comprehensive
        capability discovery.
      operationId: get_all_discovery_v1_discovery_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DiscoveryResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    DiscoveryResponse:
      properties:
        extractors:
          items:
            $ref: '#/components/schemas/ExtractorDiscovery'
          type: array
          title: Extractors
          description: Available feature extractors
        stages:
          items:
            $ref: '#/components/schemas/StageDiscovery'
          type: array
          title: Stages
          description: Available retriever stages
        manifest_schema:
          anyOf:
            - $ref: '#/components/schemas/ManifestSchemaDiscovery'
            - type: 'null'
          description: Manifest schema information
      type: object
      title: DiscoveryResponse
      description: Combined discovery response with all available resources.
    ErrorResponse:
      properties:
        success:
          type: boolean
          title: Success
          description: Always false for error responses
          default: false
        status:
          type: integer
          title: Status
          description: HTTP status code for this error
        error:
          $ref: '#/components/schemas/ErrorDetail'
          description: Error details payload
      type: object
      required:
        - status
        - error
      title: ErrorResponse
      description: Error response model.
      examples:
        - error:
            details:
              id: ns_123
              resource: namespace
            message: Namespace not found
            type: NotFoundError
          status: 404
          success: false
    ExtractorDiscovery:
      properties:
        name:
          type: string
          title: Name
          description: Feature extractor name (e.g., 'multimodal_extractor')
        version:
          type: string
          title: Version
          description: Feature extractor version (e.g., 'v1')
        description:
          type: string
          title: Description
          description: Human-readable description of what this extractor does
        supported_modalities:
          items:
            type: string
          type: array
          title: Supported Modalities
          description: List of supported input modalities (text, image, video, audio)
        output_features:
          items:
            additionalProperties: true
            type: object
          type: array
          title: Output Features
          description: List of features produced by this extractor
        input_schema:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Input Schema
          description: >-
            JSON Schema for extractor inputs — what fields the extractor reads
            from source objects
        parameter_schema:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Parameter Schema
          description: >-
            JSON Schema for tunable parameters (defaults, ranges, descriptions
            for every knob)
        output_schema:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Output Schema
          description: >-
            JSON Schema for output documents — what fields appear in extracted
            documents
        costs:
          anyOf:
            - $ref: '#/components/schemas/CostsInfo'
            - type: 'null'
          description: Credit cost information (tier, per-unit rates)
        type_mode:
          anyOf:
            - type: string
            - type: 'null'
          title: Type Mode
          description: >-
            What input types this extractor can handle: 'type_specific' (only
            one type, e.g. video-only) or 'multimodal' (handles multiple types
            with conditional processing). Type-specific extractors cannot use
            automatic-typed bucket properties.
        expected_input_types:
          anyOf:
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          title: Expected Input Types
          description: >-
            For type-specific extractors: maps input keys to required types
            (e.g., {'video': 'video', 'thumbnail': 'image'}). For multimodal
            extractors: null.
        inference_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Inference Type
          description: >-
            Kind of real-time inference this extractor provides: 'embedding',
            'rerank', 'classify', 'generate', or 'general'. Determines which
            retriever stages are compatible. Null if the extractor is
            batch-only.
        supported_input_types:
          items:
            type: string
          type: array
          title: Supported Input Types
          description: Accepted input types (e.g., ['video', 'image'])
        max_inputs:
          additionalProperties:
            type: integer
          type: object
          title: Max Inputs
          description: 'Maximum number of inputs per type (e.g., {''video'': 1})'
        default_parameters:
          additionalProperties: true
          type: object
          title: Default Parameters
          description: Default parameter values — use as a starting point for tuning
        required_vector_indexes:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          title: Required Vector Indexes
          description: >-
            Vector indexes produced by this extractor (name, dimensions,
            distance metric, feature_uri)
        position_fields:
          items:
            type: string
          type: array
          title: Position Fields
          description: >-
            Fields that uniquely identify each output document within a source
            object
        capabilities:
          items:
            type: string
          type: array
          title: Capabilities
          description: >-
            What this extractor can do: 'batch' (feature extraction during
            ingestion), 'realtime' (query-time inference for retriever stages)
        example_usage:
          additionalProperties: true
          type: object
          title: Example Usage
          description: >-
            Minimal working configuration for namespace + collection +
            input_mappings + parameters
      type: object
      required:
        - name
        - version
        - description
      title: ExtractorDiscovery
      description: |-
        Feature extractor discovery information.

        Provides comprehensive information about a feature extractor
        for agent-driven configuration and manifest generation.
      examples:
        - costs:
            rates:
              - credits_per_unit: 10
                description: Per minute of video processed
                unit: minute
            tier: 2
            tier_label: STANDARD
          description: Extracts embeddings from text, images, and video frames
          example_usage:
            collection:
              feature_extractor:
                input_mappings:
                  content: video
                name: multimodal_extractor
                parameters:
                  split_method: time
                  time_split_interval: 10
                version: v1
            namespace:
              feature_extractors:
                - name: multimodal_extractor
                  version: v1
          name: multimodal_extractor
          output_features:
            - name: multimodal_embedding
              type: embedding
              uri: mixpeek://multimodal_extractor@v1/multimodal_embedding
          parameter_schema:
            properties:
              split_method:
                default: time
                description: Video splitting strategy
                type: string
              time_split_interval:
                default: 10
                description: Interval in seconds for time splitting
                type: integer
            type: object
          supported_input_types:
            - video
            - image
          supported_modalities:
            - video
            - image
          version: v1
    StageDiscovery:
      properties:
        stage_id:
          type: string
          title: Stage Id
          description: Unique identifier for the stage
        description:
          type: string
          title: Description
          description: Human-readable description of stage behavior
        category:
          type: string
          title: Category
          description: 'Transformation category: filter, sort, reduce, apply, enrich'
        icon:
          type: string
          title: Icon
          description: Lucide React icon identifier
        parameter_schema:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Parameter Schema
          description: JSON Schema for stage parameters
        example_config:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Example Config
          description: Example stage configuration
        common_use_cases:
          items:
            type: string
          type: array
          title: Common Use Cases
          description: Common scenarios where this stage is useful
        cost_tier:
          type: string
          title: Cost Tier
          description: 'Relative cost tier: cheap, moderate, expensive'
          default: moderate
        requires_collections:
          type: boolean
          title: Requires Collections
          description: Whether this stage requires collection access
          default: true
      type: object
      required:
        - stage_id
        - description
        - category
        - icon
      title: StageDiscovery
      description: |-
        Extended stage discovery information with examples.

        Includes everything from RetrieverStageDefinition plus
        usage examples and common patterns.
      examples:
        - category: filter
          common_use_cases:
            - Semantic search over embeddings
            - Multi-modal retrieval
            - Hybrid search with fusion
          cost_tier: moderate
          description: Unified multi-vector search with N feature URIs and fusion
          example_config:
            parameters:
              feature_uri: multimodal_extractor.v1.embedding
              query: '{{ INPUT.query }}'
              top_k: 25
            stage_id: feature_filter
            stage_name: semantic_search
          icon: search
          parameter_schema:
            properties:
              feature_uri:
                type: string
              top_k:
                default: 25
                type: integer
            type: object
          requires_collections: true
          stage_id: feature_filter
    ManifestSchemaDiscovery:
      properties:
        manifest_version:
          type: string
          title: Manifest Version
          description: Current manifest schema version
        resource_types:
          items:
            type: string
          type: array
          title: Resource Types
          description: List of supported resource types
        schemas:
          additionalProperties: true
          type: object
          title: Schemas
          description: JSON Schema for each resource type
        dependency_graph:
          additionalProperties:
            items:
              type: string
            type: array
          type: object
          title: Dependency Graph
          description: Resource dependencies (key depends on values)
        examples:
          additionalProperties:
            type: string
          type: object
          title: Examples
          description: YAML example for each resource type
      type: object
      required:
        - manifest_version
        - resource_types
        - schemas
        - dependency_graph
      title: ManifestSchemaDiscovery
      description: Manifest schema discovery for agent-driven configuration.
      examples:
        - dependency_graph:
            bucket:
              - namespace
            collection:
              - namespace
              - bucket
            retriever:
              - namespace
              - collection
          examples:
            namespace: |-
              namespaces:
                - name: my_ns
                  feature_extractors:
                    - name: multimodal_extractor
          manifest_version: '1.0'
          resource_types:
            - namespace
            - bucket
            - collection
            - retriever
          schemas:
            namespace:
              properties: {}
              type: object
    ErrorDetail:
      properties:
        message:
          type: string
          title: Message
          description: Human-readable error message
        type:
          type: string
          title: Type
          description: Stable error type identifier (machine-readable)
        code:
          anyOf:
            - type: string
            - type: 'null'
          title: Code
          description: >-
            Fine-grained error code for programmatic handling (e.g.,
            namespace_name_taken, feature_extractor_not_found). Present only
            when consumers may need to branch on a specific error condition.
        details:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Details
          description: >-
            Optional structured details to help debugging (validation errors,
            IDs, etc.)
      type: object
      required:
        - message
        - type
      title: ErrorDetail
      description: Error detail model.
    CostsInfo:
      properties:
        tier:
          type: integer
          maximum: 4
          minimum: 1
          title: Tier
          description: 'Cost tier (1-4): 1=SIMPLE, 2=MODERATE, 3=COMPLEX, 4=PREMIUM'
        tier_label:
          type: string
          title: Tier Label
          description: Human-readable tier label (SIMPLE, MODERATE, COMPLEX, PREMIUM)
        rates:
          items:
            $ref: '#/components/schemas/CostRate'
          type: array
          title: Rates
          description: >-
            List of cost rates for different input types this extractor
            processes
      type: object
      required:
        - tier
        - tier_label
        - rates
      title: CostsInfo
      description: >-
        Credit cost information for a feature extractor.


        Describes the pricing tier and standardized cost rates for using this
        extractor.

        Rates are defined using CostUnit types that align with extractor input
        types.
    CostRate:
      properties:
        unit:
          $ref: '#/components/schemas/CostUnit'
          description: The billing unit type
        credits_per_unit:
          type: integer
          minimum: 1
          title: Credits Per Unit
          description: Number of credits charged per unit
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: Human-readable description of what this rate covers
      type: object
      required:
        - unit
        - credits_per_unit
      title: CostRate
      description: |-
        Cost rate for a specific billing unit.

        Defines how many credits are charged per unit of a specific type.

        Example:
            CostRate(
                unit=CostUnit.MINUTE,
                credits_per_unit=200,
                description="Video processing"
            )
            # Means: 200 credits per minute of video
    CostUnit:
      type: string
      enum:
        - minute
        - image
        - 1k_tokens
        - page
        - face
        - extraction
      title: CostUnit
      description: |-
        Standard billing units aligned with extractor input types.

        Each unit represents a measurable quantity that extractors process:
        - MINUTE: Video/audio duration in minutes
        - IMAGE: Per image processed
        - TOKENS_1K: Text tokens in thousands
        - PAGE: Document pages (PDF, etc.)
        - FACE: Detected faces in images/video
        - EXTRACTION: Flat per-operation cost

````