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

# List all product lines

> Returns a list of all catalog product lines. The product lines are sorted by creation date, with the most recent product lines appearing first. When using modified filters, results are sorted in descending modification date instead.

A **product line** is the top level of the catalog hierarchy, representing a brand or product family (e.g., "Heartgard Plus"). Each product line contains one or more products, and is associated with a manufacturer and category.



## OpenAPI

````yaml get /ext/v2/product-lines/
openapi: 3.1.0
info:
  description: ''
  title: NinjaAPI
  version: 2.0.0
servers:
  - url: https://connect.vetcove.com/
security: []
paths:
  /ext/v2/product-lines/:
    get:
      tags:
        - Catalog
      summary: List all product lines
      description: >-
        Returns a list of all catalog product lines. The product lines are
        sorted by creation date, with the most recent product lines appearing
        first. When using modified filters, results are sorted in descending
        modification date instead.


        A **product line** is the top level of the catalog hierarchy,
        representing a brand or product family (e.g., "Heartgard Plus"). Each
        product line contains one or more products, and is associated with a
        manufacturer and category.
      operationId: product_lines_list
      parameters:
        - description: When provided, filters to objects with these IDs.
          in: query
          name: ids
          required: false
          schema:
            anyOf:
              - items:
                  type: integer
                type: array
              - type: 'null'
            description: When provided, filters to objects with these IDs.
            title: Ids
        - description: >-
            A cursor used for pagination. Fetches the page of results ending
            immediately before the object with the given ID. Cannot be used at
            the same time as `starting_after`.
          in: query
          name: ending_before
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            description: >-
              A cursor used for pagination. Fetches the page of results ending
              immediately before the object with the given ID. Cannot be used at
              the same time as `starting_after`.
            title: Ending Before
        - description: >-
            A cursor used for pagination. Fetches the page of results starting
            immediately after the given ID. Cannot be used at the same time as
            `ending_before`.
          in: query
          name: starting_after
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            description: >-
              A cursor used for pagination. Fetches the page of results starting
              immediately after the given ID. Cannot be used at the same time as
              `ending_before`.
            title: Starting After
        - description: The maximum number of items to return per page.
          in: query
          name: limit
          required: false
          schema:
            default: 10
            description: The maximum number of items to return per page.
            maximum: 100
            minimum: 1
            title: Limit
            type: integer
        - description: >-
            A cursor token used for pagination. This token contains encoded
            information about the last seen record in order to continue
            pagination. Cannot be used with `starting_after` or `ending_before`
            parameters.
          in: query
          name: cursor
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              A cursor token used for pagination. This token contains encoded
              information about the last seen record in order to continue
              pagination. Cannot be used with `starting_after` or
              `ending_before` parameters.
            title: Cursor
        - description: >-
            Filters to objects modified on or after this datetime (ISO8601 UTC,
            e.g. 2025-08-25T10:30:00Z). Cannot be used with `starting_after` or
            `ending_before` parameters.
          in: query
          name: modified__gte
          required: false
          schema:
            anyOf:
              - format: date-time
                type: string
              - type: 'null'
            description: >-
              Filters to objects modified on or after this datetime (ISO8601
              UTC, e.g. 2025-08-25T10:30:00Z). Cannot be used with
              `starting_after` or `ending_before` parameters.
            title: Modified  Gte
        - description: >-
            Filters to objects modified on or before this datetime (ISO8601 UTC,
            e.g. 2025-08-25T10:30:00Z). Cannot be used with `starting_after` or
            `ending_before` parameters.
          in: query
          name: modified__lte
          required: false
          schema:
            anyOf:
              - format: date-time
                type: string
              - type: 'null'
            description: >-
              Filters to objects modified on or before this datetime (ISO8601
              UTC, e.g. 2025-08-25T10:30:00Z). Cannot be used with
              `starting_after` or `ending_before` parameters.
            title: Modified  Lte
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalProductLineSchemaList'
          description: OK
      security:
        - ExternalAPIAuth: []
components:
  schemas:
    ExternalProductLineSchemaList:
      properties:
        data:
          description: A single page of data contained within this list.
          items:
            $ref: '#/components/schemas/ExternalProductLineSchema'
          title: Data
          type: array
        has_more:
          default: false
          description: Whether there are more pages or data in this list.
          title: Has More
          type: boolean
        next_page:
          description: A URL linking to the next page of this list.
          title: Next Page
          type: string
        type:
          default: list
          description: Type of this object. Always `list`.
          title: Type
          type: string
      required:
        - data
        - next_page
      title: ExternalProductLineSchemaList
      type: object
    ExternalProductLineSchema:
      properties:
        alt_image_url:
          anyOf:
            - type: string
            - type: 'null'
          description: Alternative URL to the product line's image
          title: Alt Image Url
        brand_name:
          description: The brand name of the product line.
          title: Brand Name
          type: string
        created:
          description: The datetime this object was created.
          format: date-time
          title: Created
          type: string
        description:
          anyOf:
            - type: string
            - type: 'null'
          description: A description of the Product Line, if available
          title: Description
        grouping:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Indicates whether the Product Line is a prescription item or OTC
            item
          title: Grouping
        id:
          description: Unique identifier for the product line.
          title: Id
          type: integer
        image_url:
          anyOf:
            - type: string
            - type: 'null'
          description: URL to the product line's image
          title: Image Url
        manufacturer_id:
          description: ID of the manufacturer that produces this product line.
          title: Manufacturer Id
          type: integer
        manufacturer_name:
          description: The manufacturer of the Product Line
          title: Manufacturer Name
          type: string
        modified:
          description: >-
            The datetime this object was last modified; changes to related
            entities will not update this field.
          format: date-time
          title: Modified
          type: string
        prescription_required:
          description: Indicates whether the Product Line requires a prescription
          title: Prescription Required
          type: boolean
        primary_category_name:
          anyOf:
            - type: string
            - type: 'null'
          description: The primary product category this product line belongs to.
          title: Primary Category Name
        refrigeration_required:
          description: Indicates whether the Product Line requires refrigeration
          title: Refrigeration Required
          type: boolean
        secondary_category_names:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          description: Additional product categories this product line belongs to.
          title: Secondary Category Names
      required:
        - created
        - modified
        - id
        - manufacturer_id
        - brand_name
        - description
        - manufacturer_name
        - grouping
        - prescription_required
        - refrigeration_required
      title: ExternalProductLineSchema
      type: object
  securitySchemes:
    ExternalAPIAuth:
      scheme: bearer
      type: http

````