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

# Data quality review queues



## OpenAPI

````yaml /openapi.json get /data-quality
openapi: 3.0.3
info:
  title: MKK Structured Data API
  version: 0.1.0
  description: >-
    Read-only JSON API for normalized MKK/VYK PDF extraction results, portfolio
    entries, and data-quality review queues.
servers:
  - url: https://mkk.celebi.me/api
security: []
tags:
  - name: System
  - name: Funds
  - name: Sections
  - name: Documents
  - name: Line Items
  - name: Portfolio
  - name: Stocks
  - name: Quality
  - name: Exports
paths:
  /data-quality:
    get:
      tags:
        - Quality
      summary: Data quality review queues
      operationId: getDataQuality
      parameters:
        - $ref: '#/components/parameters/FundIdQuery'
        - $ref: '#/components/parameters/FundCodeQuery'
        - $ref: '#/components/parameters/Limit'
        - $ref: '#/components/parameters/LowLineItemThreshold'
      responses:
        '200':
          description: Read-only data quality summary and review queues.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataQualityReport'
components:
  parameters:
    FundIdQuery:
      name: fund_id
      in: query
      required: false
      description: Filter by fund code.
      schema:
        type: string
    FundCodeQuery:
      name: fund_code
      in: query
      required: false
      description: Filter by fund code.
      schema:
        type: string
    Limit:
      name: limit
      in: query
      required: false
      description: Maximum number of rows to return.
      schema:
        type: integer
        minimum: 1
        maximum: 500
    LowLineItemThreshold:
      name: low_line_item_threshold
      in: query
      required: false
      description: >-
        Line-item value count below which a document enters the low-coverage
        queue.
      schema:
        type: integer
        minimum: 0
        maximum: 100
  schemas:
    DataQualityReport:
      type: object
      properties:
        scope:
          type: object
          properties:
            fund_id:
              type: string
              nullable: true
        limits:
          type: object
          properties:
            list_limit:
              type: integer
            low_line_item_threshold:
              type: integer
        summary:
          $ref: '#/components/schemas/DataQualitySummary'
        mapping_methods:
          type: array
          items:
            $ref: '#/components/schemas/MappingMethodSummary'
        low_line_item_documents:
          type: array
          items:
            $ref: '#/components/schemas/DataQualityDocument'
        portfolio_only_documents:
          type: array
          items:
            $ref: '#/components/schemas/DataQualityDocument'
        empty_documents:
          type: array
          items:
            $ref: '#/components/schemas/DataQualityDocument'
        review_mappings:
          type: array
          items:
            $ref: '#/components/schemas/ReviewMapping'
        numeric_parse_failures:
          type: array
          items:
            $ref: '#/components/schemas/NumericParseFailure'
        portfolio_numeric_parse_failures:
          type: array
          items:
            $ref: '#/components/schemas/PortfolioNumericParseFailure'
        missing_pdfs:
          type: array
          items:
            $ref: '#/components/schemas/MissingPdf'
    DataQualitySummary:
      type: object
      properties:
        documents:
          type: integer
        documents_with_line_items:
          type: integer
        documents_with_portfolio:
          type: integer
        documents_with_both:
          type: integer
        portfolio_only_documents:
          type: integer
        empty_documents:
          type: integer
        low_line_item_documents:
          type: integer
        review_mappings:
          type: integer
        numeric_parse_failures:
          type: integer
        portfolio_numeric_parse_failures:
          type: integer
        missing_pdfs:
          type: integer
    MappingMethodSummary:
      type: object
      properties:
        mapping_method:
          type: string
        value_count:
          type: integer
        avg_confidence:
          type: number
          nullable: true
    DataQualityDocument:
      type: object
      properties:
        id:
          type: integer
        disclosure_index:
          type: string
          nullable: true
        file_name:
          type: string
        fund_code:
          type: string
          nullable: true
        period:
          type: string
          nullable: true
        line_item_value_count:
          type: integer
        line_item_count:
          type: integer
        section_count:
          type: integer
        portfolio_entry_count:
          type: integer
        portfolio_row_count:
          type: integer
    ReviewMapping:
      type: object
      properties:
        id:
          type: integer
        document_id:
          type: integer
        disclosure_index:
          type: string
          nullable: true
        file_name:
          type: string
        fund_code:
          type: string
          nullable: true
        period:
          type: string
          nullable: true
        section_name:
          type: string
          nullable: true
        line_item_slug:
          type: string
        line_item_name:
          type: string
        raw_section:
          type: string
          nullable: true
        raw_label:
          type: string
          nullable: true
        value:
          type: string
          nullable: true
        mapping_method:
          type: string
          nullable: true
        mapping_confidence:
          type: number
          nullable: true
    NumericParseFailure:
      type: object
      properties:
        id:
          type: integer
        document_id:
          type: integer
        disclosure_index:
          type: string
          nullable: true
        file_name:
          type: string
        fund_code:
          type: string
          nullable: true
        period:
          type: string
          nullable: true
        line_item_slug:
          type: string
        line_item_name:
          type: string
        raw_label:
          type: string
          nullable: true
        value:
          type: string
          nullable: true
    PortfolioNumericParseFailure:
      allOf:
        - $ref: '#/components/schemas/PortfolioEntry'
        - type: object
          properties:
            failed_fields:
              type: array
              items:
                type: string
    MissingPdf:
      type: object
      properties:
        id:
          type: integer
        disclosure_index:
          type: string
          nullable: true
        file_name:
          type: string
        fund_code:
          type: string
          nullable: true
        period:
          type: string
          nullable: true
    PortfolioEntry:
      type: object
      properties:
        id:
          type: integer
        document_id:
          type: integer
        disclosure_index:
          type: string
          nullable: true
        file_name:
          type: string
          nullable: true
        fund_code:
          type: string
          nullable: true
        fund_title:
          type: string
          nullable: true
        period:
          type: string
          nullable: true
        section:
          type: string
          nullable: true
        security:
          type: string
          nullable: true
        isin:
          type: string
          nullable: true
        issuer:
          type: string
          nullable: true
        bank:
          type: string
          nullable: true
        maturity_date:
          type: string
          nullable: true
        transaction_date:
          type: string
          nullable: true
        price:
          type: string
          nullable: true
        numeric_price:
          type: number
          nullable: true
        transaction_value:
          type: string
          nullable: true
        numeric_transaction_value:
          type: number
          nullable: true
        nominal_value:
          type: string
          nullable: true
        numeric_nominal_value:
          type: number
          nullable: true
        market_value:
          type: string
          nullable: true
        numeric_market_value:
          type: number
          nullable: true
        rate:
          type: string
          nullable: true
        numeric_rate:
          type: number
          nullable: true
        amount:
          type: string
          nullable: true
        numeric_amount:
          type: number
          nullable: true
        currency:
          type: string
          nullable: true
        raw_row:
          type: string
          nullable: true
        columns:
          type: array
          items:
            $ref: '#/components/schemas/PortfolioColumn'
    PortfolioColumn:
      type: object
      properties:
        header:
          type: string
          nullable: true
        key:
          type: string
          nullable: true
        value:
          type: string
          nullable: true

````