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

# List Product condition values

> Returns a bounded prefix search of raw values for a Product condition field. Use the field,
minimum query length, and maximum result count advertised by the condition catalogue. Results
include disabled simple Products because saved Profile conditions must remain editable.



## OpenAPI

````yaml GET /v1/inventory/product-condition-values
openapi: 3.0.3
info:
  title: ShipStream
  version: '1.0'
  license:
    name: Commercial (Copyright 2025 - All Rights Reserved)
    url: https://shipstream.io
  contact:
    name: ShipStream Support
    email: help@shipstream.io
  termsOfService: https://shipstream.io/legal/api-terms/
servers:
  - url: https://{base_url_domain}/api/global
    description: Direct API Url
    variables:
      base_url_domain:
        default: example.shipstream.app
        description: >-
          The fully qualified domain name for your ShipStream WMS instance. This
          is either a custom domain, or a subdomain of shipstream.app,

          and will be the same as the domain name for the page which you use to
          login to ShipStream WMS.
security:
  - ShipStream_bearerAuth: []
tags:
  - name: Warehouses
    x-displayName: Warehouses
  - name: Products
    x-displayName: Products
  - name: ProductProfiles
    x-displayName: ProductProfiles
  - name: HandlingClasses
    x-displayName: HandlingClasses
  - name: Locations
    x-displayName: Locations
  - name: LocationTags
    x-displayName: LocationTags
  - name: SlotTypes
    x-displayName: SlotTypes
  - name: Levels
    x-displayName: Levels
  - name: HoldReasons
    x-displayName: HoldReasons
  - name: Holds
    x-displayName: Holds
  - name: Replenishment
    x-displayName: Replenishment
  - name: LocationProfiles
    x-displayName: LocationProfiles
  - name: SlottingRules
    x-displayName: SlottingRules
  - name: Deliveries
    description: Every thing about a Delivery Receiving
    x-displayName: Deliveries
  - name: Shipments
    x-displayName: Shipments
  - name: Orders
    x-displayName: Orders
  - name: Retailers
    x-displayName: Retailers
  - name: Users
    x-displayName: Users
  - name: User Roles
    x-displayName: User Roles
  - name: Merchants
    x-displayName: Merchants
  - name: Healthcheck
    x-displayName: Healthcheck
paths:
  /v1/inventory/product-condition-values:
    get:
      tags:
        - ProductProfiles
      summary: List Product condition values
      description: >-
        Returns a bounded prefix search of raw values for a Product condition
        field. Use the field,

        minimum query length, and maximum result count advertised by the
        condition catalogue. Results

        include disabled simple Products because saved Profile conditions must
        remain editable.
      operationId: getProductConditionValues
      parameters:
        - name: field
          in: query
          required: true
          description: Product field to search.
          schema:
            type: string
            enum:
              - sku
              - name
              - vendor_sku
              - manufacturer_part_number
              - external_id
              - barcode
            example: sku
        - name: q
          in: query
          required: true
          description: Case-insensitive value prefix with at least two characters.
          schema:
            type: string
            minLength: 2
            example: ABC
        - name: limit
          in: query
          required: false
          description: Maximum number of value options to return.
          schema:
            type: integer
            minimum: 1
            maximum: 50
            default: 50
          example: 50
      responses:
        '200':
          description: Matching Product condition values.
          content:
            application/json:
              schema:
                type: object
                properties:
                  options:
                    type: array
                    description: Distinct raw values and human-readable Product labels.
                    items:
                      type: object
                      properties:
                        value:
                          type: string
                          description: Raw value stored in a condition.
                        label:
                          type: string
                          description: Product SKU and name shown by the editor.
                      required:
                        - value
                        - label
                      additionalProperties: false
                  meta:
                    $ref: '#/components/schemas/Inventory_API_v1_meta'
                required:
                  - options
                  - meta
                additionalProperties: false
              example:
                options:
                  - value: ABC-100
                    label: ABC-100 — Small Parcel Carton
                  - value: ABC-110
                    label: ABC-110 — Medium Parcel Carton
                meta:
                  processing_time: 0.0064
        '400':
          $ref: '#/components/responses/Inventory_API_v1_400-bad-request'
        '500':
          $ref: '#/components/responses/Inventory_API_v1_500-internal-server-error'
      x-codeSamples:
        - lang: curl
          label: cURL
          source: |-
            curl --request GET \
              --url 'https://example.shipstream.app/api/global/v1/inventory/product-condition-values?field=sku&q=ABC&limit=50' \
              --header 'Authorization: Bearer <token>'
        - lang: python
          label: Python
          source: >-
            import requests


            url =
            "https://example.shipstream.app/api/global/v1/inventory/product-condition-values?field=sku&q=ABC&limit=50"

            headers = {"Authorization": "Bearer <token>"}


            response = requests.get(url, headers=headers)

            print(response.text)
        - lang: javascript
          label: JavaScript
          source: >-
            const options = {method: 'GET', headers: {Authorization: 'Bearer
            <token>'}};


            fetch('https://example.shipstream.app/api/global/v1/inventory/product-condition-values?field=sku&q=ABC&limit=50',
            options)
              .then(response => response.json())
              .then(response => console.log(response));
        - lang: php
          label: PHP
          source: >-
            <?php


            $curl = curl_init();

            curl_setopt($curl, CURLOPT_URL,
            'https://example.shipstream.app/api/global/v1/inventory/product-condition-values?field=sku&q=ABC&limit=50');

            curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);

            curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer
            <token>']);


            $response = curl_exec($curl);

            curl_close($curl);

            echo $response;
        - lang: go
          label: Go
          source: |-
            package main

            import (
                "fmt"
                "io"
                "net/http"
            )

            func main() {
                req, _ := http.NewRequest("GET", "https://example.shipstream.app/api/global/v1/inventory/product-condition-values?field=sku&q=ABC&limit=50", nil)
                req.Header.Add("Authorization", "Bearer <token>")
                response, _ := http.DefaultClient.Do(req)
                defer response.Body.Close()
                body, _ := io.ReadAll(response.Body)
                fmt.Println(string(body))
            }
        - lang: java
          label: Java
          source: >-
            HttpResponse<String> response =
            Unirest.get("https://example.shipstream.app/api/global/v1/inventory/product-condition-values?field=sku&q=ABC&limit=50")
              .header("Authorization", "Bearer <token>")
              .asString();
        - lang: ruby
          label: Ruby
          source: >-
            require 'uri'

            require 'net/http'


            url =
            URI('https://example.shipstream.app/api/global/v1/inventory/product-condition-values?field=sku&q=ABC&limit=50')

            request = Net::HTTP::Get.new(url)

            request['Authorization'] = 'Bearer <token>'


            response = Net::HTTP.start(url.hostname, url.port, use_ssl: true) do
            |http|
              http.request(request)
            end

            puts response.read_body
components:
  schemas:
    Inventory_API_v1_meta:
      type: object
      properties:
        processing_time:
          type: number
          description: Total time in which request is processed and response is sent back.
          example: 0.2525252525
        cursor_start:
          type: integer
          description: >-
            A cursor for use in pagination which defines the starting `id` of
            the next page of results.

            See [paging parameters](/global-api/paging-parameters) for more
            information on paging.
          nullable: true
        cursor_end:
          type: integer
          description: >-
            A cursor for use in pagination which defines the last `id` of the
            next page of results, non-inclusive.

            See [paging parameters](/global-api/paging-parameters) for more
            information on paging.
          nullable: true
        count:
          type: integer
          description: >-
            The total number of items matching the query before applying paging
            parameters.

            This field is only present if the query parameter `count=1` is
            present in the request.
      description: Additional metadata pertaining to the response.
  responses:
    Inventory_API_v1_400-bad-request:
      description: >-
        The request was invalid. The client must change the request. See the
        response body for more details.
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                type: array
                items:
                  type: object
                  properties:
                    type:
                      type: string
                      description: The error type code.
                      enum:
                        - parser
                        - parameters
                        - openapi
                    message:
                      type: string
                      description: An English sentence describing the error type.
                    details:
                      type: array
                      description: >-
                        An array of objects describing which keys are
                        responsible for the error and detailed messages
                        describing why they are not valid.
                      items:
                        type: object
                        properties:
                          key:
                            type: string
                            description: The path to the key which relates to the error.
                          message:
                            type: string
                            description: >-
                              An English sentence describing the details of the
                              error.
                        additionalProperties: false
                  additionalProperties: false
                minItems: 1
            additionalProperties: false
          example:
            errors:
              - type: parameters
                message: The supplied parameters are invalid.
    Inventory_API_v1_500-internal-server-error:
      description: >-
        Internal Server Error - Something wrong happened at server side. Contact
        server administrator for more details.
  securitySchemes:
    ShipStream_bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Generate a JWT access token through a Custom Global Integration and
        provide it with each request in the `Authorization` header prefixed with
        "Bearer" and then a single space.

````