v5

latestOpenAPI 3.1.02026-08-025631,1012.8 MB
Manifest

Lint Manifest

Lint a YAML manifest for best practices and potential issues.

Goes beyond basic validation to provide actionable suggestions for improving your manifest configuration. This endpoint is designed for AI agents and developers who want to optimize their Mixpeek setup.

Lint Rules:

  • UNUSED_EXTRACTOR: Feature extractor defined but not used by any collection
  • UNUSED_COLLECTION: Collection not referenced by any retriever
  • MISSING_INPUT_SCHEMA: Retriever uses templates but has no input_schema
  • MISSING_CACHE_CONFIG: Retriever without caching (especially with LLM stages)
  • SUBOPTIMAL_STAGE_ORDER: Filter stages after expensive operations
  • DUPLICATE_FEATURE_URI: Same feature searched multiple times
  • MISSING_DESCRIPTION: Resources without descriptions
  • NO_SEARCH_STAGE: Retriever with no search stages
  • EXTRACTOR_NOT_IN_NAMESPACE: Collection uses extractor not in namespace
  • MISSING_SECRET: Secret reference not configured

Severity Levels:

  • error: Must be fixed before applying
  • warning: Best practice violation, should be fixed
  • info: Suggestion for improvement

Example:

curl -X POST /v1/manifest/lint \
  -H "Authorization: Bearer $API_KEY" \
  -F "manifest_file=@mixpeek.yaml"

Response includes actionable suggestions:

{
  "valid": true,
  "results": [
    {
      "code": "MISSING_CACHE_CONFIG",
      "severity": "warning",
      "message": "Retriever 'product_search' has no cache configuration",
      "location": "retrievers[0]",
      "suggestion": "Add cache_config to improve performance",
      "fix_example": "cache_config:\n  enabled: true\n  ttl_seconds: 3600"
    }
  ],
  "summary": {"error": 0, "warning": 1, "info": 0}
}
post/v1/manifest/lint

Query parameters

skip_rulesstring[]

Rule codes to skip (e.g., MISSING_DESCRIPTION)

Rule codes to skip (e.g., MISSING_DESCRIPTION)

Response

Successful Response

validboolean required

Whether the manifest is valid (no errors, warnings OK)

summaryobject

Count of results by severity

Example response

{
  "results": [
    {
      "code": "UNUSED_COLLECTION",
      "location": "collections[2]",
      "message": "Collection 'orphan_data' is not referenced by any retriever",
      "severity": "warning",
      "suggestion": "Add a retriever that uses this collection or remove it"
    }
  ],
  "summary": {
    "error": 0,
    "info": 0,
    "warning": 1
  },
  "valid": true
}