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

# List products



## OpenAPI

````yaml /openapi.json get /v1/products/
openapi: 3.0.3
info:
  title: Velocity for BigCommerce Zapier API
  version: 0.0.1
servers:
  - url: https://{tenant}.api.velocity.medshift.com
    variables:
      tenant:
        default: your-subdomain
        description: Your tenant's subdomain.
security: []
paths:
  /v1/products/:
    get:
      tags:
        - Products
      summary: List products
      operationId: v1_products_list
      parameters:
        - in: query
          name: commission_program_ids
          schema:
            type: array
            items:
              type: string
              format: uuid
          description: Multiple values may be separated by commas.
          explode: false
          style: form
        - in: query
          name: is_digital
          schema:
            type: boolean
        - in: query
          name: is_purchasable
          schema:
            type: boolean
        - name: limit
          required: false
          in: query
          description: Number of results to return per page.
          schema:
            type: integer
        - name: offset
          required: false
          in: query
          description: The initial index from which to return the results.
          schema:
            type: integer
        - name: ordering
          required: false
          in: query
          description: Which field to use when ordering the results.
          schema:
            type: string
        - name: search
          required: false
          in: query
          description: A search term.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedProductList'
          description: ''
      security:
        - ZapierAuthentication: []
components:
  schemas:
    PaginatedProductList:
      type: array
      items:
        $ref: '#/components/schemas/Product'
    Product:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        bigcommerce_id:
          type: integer
          readOnly: true
        name:
          type: string
          minLength: 1
          maxLength: 250
        is_digital:
          type: boolean
          readOnly: true
        thumbnail_url:
          type: string
          format: uri
          readOnly: true
          nullable: true
        is_purchasable:
          type: boolean
          readOnly: true
        tax_code:
          type: string
          maxLength: 255
        order_quantity_min:
          type: integer
          readOnly: true
          nullable: true
          description: '`null` when there is no minimum order quantity.'
        order_quantity_max:
          type: integer
          readOnly: true
          nullable: true
          description: '`null` when there is no maximum order quantity.'
        inventory_level:
          type: integer
          nullable: true
          readOnly: true
          description: '`null` when inventory is not tracked at the product level.'
        lot_serial_required:
          type: boolean
        commission_programs:
          type: array
          items:
            $ref: '#/components/schemas/CommissionProgram'
          readOnly: true
        commission_program_ids:
          type: array
          items:
            type: string
            format: uuid
            writeOnly: true
          writeOnly: true
        options:
          type: array
          items:
            $ref: '#/components/schemas/ProductOption'
          readOnly: true
        variants:
          type: array
          items:
            $ref: '#/components/schemas/ProductProductVariant'
          readOnly: true
      required:
        - bigcommerce_id
        - commission_programs
        - id
        - inventory_level
        - is_digital
        - is_purchasable
        - name
        - options
        - order_quantity_max
        - order_quantity_min
        - thumbnail_url
        - variants
    CommissionProgram:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
          minLength: 1
      required:
        - id
        - name
    ProductOption:
      type: object
      properties:
        bigcommerce_id:
          type: integer
        name:
          type: string
          minLength: 1
        values:
          type: array
          items:
            $ref: '#/components/schemas/ProductOptionValue'
      required:
        - bigcommerce_id
        - name
        - values
    ProductProductVariant:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        bigcommerce_id:
          type: integer
          readOnly: true
        sku:
          type: string
          minLength: 1
          maxLength: 255
        is_purchasable:
          type: boolean
          readOnly: true
        base_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
          readOnly: true
          description: The regular price, before any sale.
        list_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
          readOnly: true
          description: The price currently charged, which reflects any sale in progress.
        cost_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
          readOnly: true
          description: What this variant costs the store.
        inventory_level:
          type: integer
          nullable: true
          readOnly: true
          description: '`null` when inventory is not tracked at the variant level.'
        custom_fields:
          type: array
          items:
            $ref: '#/components/schemas/VariantCustomField'
        options:
          type: array
          items:
            $ref: '#/components/schemas/VariantOption'
      required:
        - base_price
        - bigcommerce_id
        - cost_price
        - custom_fields
        - id
        - inventory_level
        - is_purchasable
        - list_price
        - options
        - sku
    ProductOptionValue:
      type: object
      properties:
        bigcommerce_id:
          type: integer
        label:
          type: string
          minLength: 1
      required:
        - bigcommerce_id
        - label
    VariantCustomField:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
          readOnly: true
        value:
          nullable: true
      required:
        - id
        - name
        - value
    VariantOption:
      type: object
      properties:
        bigcommerce_option_id:
          type: integer
        bigcommerce_value_id:
          type: integer
      required:
        - bigcommerce_option_id
        - bigcommerce_value_id
  securitySchemes:
    ZapierAuthentication:
      type: apiKey
      in: header
      name: X-API-Key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.