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

# Check per-furnisher field coverage before running a query



## OpenAPI

````yaml POST /v1/products/check
openapi: 3.1.0
info:
  title: SOLO Network API
  version: v1
servers:
  - url: https://api.solo.one
    description: Production
  - url: https://api.sandbox.solo.one
    description: Sandbox
security: []
paths:
  /v1/products/check:
    post:
      tags:
        - Product Coverage Check
      summary: 'Soft check: per-furnisher field coverage for a product and profile'
      operationId: product_coverage_check_v1_products_check_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CoverageCheckInput'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CoverageCheckOutput'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
components:
  schemas:
    CoverageCheckInput:
      properties:
        policy_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Policy Id
          description: >-
            Querying policy applied across every network in network_ids. If
            omitted, each network's default policy is used.
        network_ids:
          items:
            type: string
            format: uuid
          type: array
          minItems: 1
          title: Network Ids
          description: >-
            Networks to query across; the single policy is applied to all of
            them.
        furnishing_entity_ids:
          anyOf:
            - items:
                type: string
                format: uuid
              type: array
            - type: 'null'
          title: Furnishing Entity Ids
          description: >-
            Optional furnishing-entity scope. When omitted or empty, data from
            all furnishers is considered.
        product_id:
          type: string
          format: uuid
          title: Product Id
          description: Product to coverage-check.
        consent_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Consent Id
          description: Consent token — system resolves identity.
        consumer_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Consumer Id
          description: Consumer profile primary key (Consumer.id).
        business_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Business Id
          description: Business profile primary key (Business.id).
      type: object
      required:
        - network_ids
        - product_id
      title: CoverageCheckInput
    CoverageCheckOutput:
      properties:
        product_id:
          type: string
          format: uuid
          title: Product Id
        consumer_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Consumer Id
        business_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Business Id
        entities:
          items:
            $ref: '#/components/schemas/CoverageCheckEntityOutput'
          type: array
          title: Entities
      type: object
      required:
        - product_id
        - entities
      title: CoverageCheckOutput
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    CoverageCheckEntityOutput:
      properties:
        furnishing_entity_id:
          type: string
          format: uuid
          title: Furnishing Entity Id
        furnishing_entity_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Furnishing Entity Name
        network_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Network Id
        complete:
          type: boolean
          title: Complete
        hit:
          type: boolean
          title: Hit
          description: Whether the furnisher has any data for the checked product.
          default: false
        models:
          items:
            $ref: '#/components/schemas/CoverageCheckModelOutput'
          type: array
          title: Models
      type: object
      required:
        - furnishing_entity_id
        - complete
        - models
      title: CoverageCheckEntityOutput
    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
    CoverageCheckModelOutput:
      properties:
        model_name:
          type: string
          title: Model Name
        met_count:
          type: integer
          title: Met Count
        total_count:
          type: integer
          title: Total Count
        hit:
          type: boolean
          title: Hit
          description: >-
            Whether the furnisher has any row for this model at all. A hit with
            a low met_count signals data that exists but is not (fully)
            accessible under the current consent.
          default: false
        fields:
          items:
            $ref: '#/components/schemas/CoverageCheckFieldOutput'
          type: array
          title: Fields
      type: object
      required:
        - model_name
        - met_count
        - total_count
        - fields
      title: CoverageCheckModelOutput
    CoverageCheckFieldOutput:
      properties:
        field_name:
          type: string
          title: Field Name
        met:
          type: boolean
          title: Met
      type: object
      required:
        - field_name
        - met
      title: CoverageCheckFieldOutput
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````