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

# Listar components of a produto (kit)

> Returns all components of a KIT/MANUFACTURED product with keyset pagination. Uses deterministic ordering (created_at ASC, id ASC). Maximum 500 records per request.

Returns all components of a KIT/MANUFACTURED produto with keyset pagination. Uses deterministic ordering (created\_at ASC, id ASC). Maximum 500 records per request.

## Parâmetros de Rota (Path)

<ParamField path="productId" type="string" required={true}>UUID of the parent produto (kit)</ParamField>

## Query Params / Filtros

<ParamField query="limit" type="number">Maximum number of components to return. Defaults to all (capped at 500). Use together with `cursor` for keyset pagination.</ParamField>

<ParamField query="cursor" type="string">Opaque cursor token for keyset pagination. Pass the `nextCursor` value from a previous response to fetch the next page. The cursor encodes (created\_at, id) for deterministic ordering.</ParamField>


## OpenAPI

````yaml get /products/{productId}/components
openapi: 3.0.0
info:
  title: Hub Marketplace API
  description: API for managing marketplace listings and keys
  version: '1.0'
  contact: {}
servers: []
security: []
tags:
  - name: listings
    description: ''
paths:
  /products/{productId}/components:
    get:
      tags:
        - Product Components
      summary: List components of a product (kit)
      description: >-
        Returns all components of a KIT/MANUFACTURED product with keyset
        pagination. Uses deterministic ordering (created_at ASC, id ASC).
        Maximum 500 records per request.
      operationId: ProductComponentsController_findAll
      parameters:
        - name: productId
          required: true
          in: path
          description: UUID of the parent product (kit)
          schema:
            type: string
        - name: limit
          required: false
          in: query
          description: >-
            Maximum number of components to return. Defaults to all (capped at
            500). Use together with `cursor` for keyset pagination.
          schema:
            minimum: 1
            maximum: 500
            default: 500
            example: 100
            type: number
        - name: cursor
          required: false
          in: query
          description: >-
            Opaque cursor token for keyset pagination. Pass the `nextCursor`
            value from a previous response to fetch the next page. The cursor
            encodes (created_at, id) for deterministic ordering.
          schema:
            example: eyJjcmVhdGVkQXQiOiIyMDI2LTAxLTAxIiwiaWQiOiJ1dWlkIn0=
            type: string
      responses:
        '200':
          description: Paginated list of components
          content:
            application/json:
              schema:
                example:
                  data:
                    - id: comp-uuid
                      componentId: product-uuid
                      quantity: 2
                      lossPercentage: 0
                      isMainItem: false
                      displayInDescription: true
                      affectsPrice: true
                      unitCostSnapshot: 10.5
                      component:
                        id: product-uuid
                        commercialName: Resistor 10k
                        sku: RES-10K
                        price: 0.5
                  nextCursor: eyJjcmVhdGVkQXQiOiIyMDI2LTAxLTAxIiwiaWQiOiJ1dWlkIn0=
                  hasMore: false
        '404':
          description: Product not found

````