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

# List Products

> Retrieve a list of up to 50 products

## List Products Endpoint (2024-09-01)

Retrieve a list of products with pagination support.


## OpenAPI

````yaml GET /tax/products
openapi: 3.0.1
info:
  title: Numeral API
  description: API for sales tax calculations
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.numeralhq.com/
security:
  - bearerAuth: []
paths:
  /tax/products:
    get:
      description: >-
        Retrieve a list of up to 50 products. If you have more than 50, you can
        paginate this endpoint.
      parameters:
        - name: cursor
          in: query
          required: false
          schema:
            type: string
          description: >-
            The product ID to start pagination from. This is the last product ID
            retrieved from the previous list request. An example path looks like
            `/tax/products?cursor=p-20506`
      responses:
        '200':
          description: List of products
          content:
            application/json:
              schema:
                type: object
                properties:
                  has_more:
                    type: boolean
                    description: >-
                      This will be either `true` or `false` depending on if
                      there are more products to be returned in the next
                      request.
                    example: 'false'
                  last_product_id:
                    type: string
                    description: >-
                      The ID of the last product returned in the response. This
                      can be used as a cursor for pagination.
                    example: p-20507
                  products:
                    type: array
                    items:
                      $ref: '#/components/schemas/ProductResponse'
              examples:
                multipleProducts:
                  summary: Multiple products example
                  value:
                    last_product_id: p-20507
                    products:
                      - object: tax.product
                        reference_product_id: p-20506
                        reference_product_name: Red T-Shirt
                        product_category: CLOTHING
                        created_at: 1721951003
                        updated_at: 1721951003
                        testmode: true
                      - object: tax.product
                        reference_product_id: p-20507
                        reference_product_name: Blue T-Shirt
                        product_category: CLOTHING
                        created_at: 1721951003
                        updated_at: 1721951003
                        testmode: true
                    has_more: false
        '400':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    ProductResponse:
      type: object
      properties:
        object:
          type: string
          description: 'The type of object: `tax.product`.'
          example: tax.product
        reference_product_id:
          type: string
          description: The ID of the created product
          example: p-20506
        reference_product_name:
          type: string
          description: The name of the created product
          example: Red Shoes
        product_category:
          type: string
          description: The category of the created product
          example: CLOTHING_GENERAL
        created_at:
          type: number
          description: >-
            Epoch datetime representing the date and time the product was
            created
          example: 1721694425
        updated_at:
          type: number
          description: >-
            Epoch datetime representing the date and time the product was last
            updated
          example: 1721694425
        testmode:
          type: boolean
          description: >-
            `True` if using a production API key. `False` if using a test API
            key.
          example: 'true'
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            error_code:
              type: string
            error_message:
              type: string
            error_meta:
              type: object
              properties:
                field:
                  type: string
                expected:
                  type: string
                received:
                  type: string
        request_id:
          type: string
          description: The ID of the request
          example: req_123456789
      example:
        error:
          error_code: missing_field
          error_message: Field is required
          error_meta:
            field: path.to.fieldname
            expected: string
            received: undefined
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````