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

# Query Product

> Retrieve a list of Products with a complex or simple query.



## OpenAPI

````yaml post /vLatest/query/glasscore/product
openapi: 3.1.0
info:
  version: 2.0.0
  title: Health Street API
  description: >-
    The Health Street API provides secure and reliable endpoints to manage drug
    tests, background checks, DNA checks, and occupational health tests.
servers:
  - url: https://api.glass.fm
security: []
paths:
  /vLatest/query/glasscore/product:
    post:
      tags:
        - Product
      summary: Query Product
      description: Retrieve a list of Products with a complex or simple query.
      operationId: QueryProduct
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestBodySchema'
      responses:
        '200':
          description: A list of Products
          content:
            application/json:
              schema:
                type: object
                properties:
                  aggregateRating:
                    type: number
                    nullable: true
                    description: >-
                      Represents the overall score or value given to a product
                      based on combined user reviews or ratings.
                  descrip:
                    type: string
                    description: Description of record.
                  featureSetArray:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: number
                          nullable: true
                        isRequired:
                          type: boolean
                          nullable: true
                      required:
                        - id
                        - isRequired
                    description: >-
                      Contains a collection of specific attributes or
                      characteristics associated with a product.
                  fee:
                    type: number
                    nullable: true
                    description: >-
                      Represents the additional charge associated with a
                      product.
                  id:
                    type: number
                    description: Unique identifier.
                  internalName:
                    type: string
                    description: >-
                      Represents the unique identifier used internally for each
                      product.
                  isDeprecated:
                    type: boolean
                    nullable: true
                    description: >-
                      Indicates whether a product is no longer in use or
                      recommended for use.
                  isMarketplace:
                    type: boolean
                    nullable: true
                    description: >-
                      Indicates whether the product is sold on a marketplace
                      platform or not.
                  isWebApp:
                    type: boolean
                    nullable: true
                    description: Indicates whether the product is a web application or not.
                  name:
                    type: string
                    description: Name of product.
                  requireCompany:
                    type: boolean
                    nullable: true
                    description: >-
                      Indicates whether a company affiliation is necessary for
                      the product.
                  requireLocation:
                    type: boolean
                    nullable: true
                    description: >-
                      Indicates whether a specific location is necessary for the
                      product.
                  requirePerson:
                    type: boolean
                    nullable: true
                    description: >-
                      Indicates whether a product needs a person for its
                      operation or use.
                  requireShipping:
                    type: boolean
                    nullable: true
                    description: >-
                      Indicates whether or not a product needs to be shipped to
                      the customer.
                  shortName:
                    type: string
                    description: >-
                      Contains a brief, abbreviated title or identifier for a
                      specific product.
                  totalReviews:
                    type: number
                    nullable: true
                    description: >-
                      Represents the aggregate count of customer feedback
                      received for a specific product.
                required:
                  - aggregateRating
                  - descrip
                  - featureSetArray
                  - fee
                  - id
                  - internalName
                  - isDeprecated
                  - isMarketplace
                  - isWebApp
                  - name
                  - requireCompany
                  - requireLocation
                  - requirePerson
                  - requireShipping
                  - shortName
                  - totalReviews
components:
  schemas:
    RequestBodySchema:
      type: object
      properties:
        advancedFilter:
          type: object
          properties:
            linkOperator:
              type: string
              enum:
                - AND
                - OR
              description: >-
                Logical operator for combining multiple `items`. Using `AND`
                will require all conditions to be true. Using `OR` will require
                at least one condition to be true.
            items:
              type: array
              items:
                type: object
                properties:
                  columnField:
                    type: string
                    description: Field name to filter by
                    example: nameFirst
                  operatorValue:
                    type: string
                    enum:
                      - contains
                      - endsWith
                      - equals
                      - greaterThan
                      - greaterThanOrEqualTo
                      - isEmpty
                      - isFalse
                      - isNotEmpty
                      - isTrue
                      - lessThan
                      - lessThanOrEqualTo
                      - listContains
                      - notEquals
                      - startsWith
                    description: Operator to use for the filter condition.
                  value:
                    type: string
                    description: Value to filter by.
                    example: John
                required:
                  - columnField
                  - operatorValue
                  - value
                additionalProperties: false
              description: Array of conditions to filter by.
          required:
            - linkOperator
            - items
          additionalProperties: false
          description: >-
            Complex filter configuration allowing for multiple conditions with
            AND/OR operators.
        return:
          type: array
          items:
            type: string
          description: Array of field names to return in the response.
          example:
            - id
            - firstName
            - lastName
        isAdditionalData:
          type: boolean
          default: false
          description: >-
            Set to `true` to merge requested fields with default response, or
            false/omit to return only requested fields plus `ID`.
        page:
          type: number
          default: 1
          description: Page number for pagination.
          example: 1
        pageSize:
          type: number
          default: 500
          description: Number of items per page. Defaults to 500.
          example: 20
        sortBy:
          type: string
          description: Field name to sort by.
          example: createdAt
        sortDirection:
          type: string
          enum:
            - asc
            - desc
          default: desc
          description: 'Sort direction: ascending (asc) or descending (desc).'
          example: desc
      additionalProperties:
        type: string
        description: >-
          Additional key-value pairs for simple filtering. Any field from the
          entity can be used as a filter key. E.g., `field=value` will return
          all records where that field matches the specified value.
        example: status=active
      description: >-
        Multiple query options are supported. You can build a complex query
        filling out the `advancedFilter` section. We also support "simple"
        queries which used by putting the key you want to filter by in the
        `query` section along with the value you want it to filter for. E.g.,
        `nameFirst=John` will return all persons with a first name of John.
      title: Query

````