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

# Update Linked Product

> Updates **mutable** attributes of the link: `quantity` and `notes`.
Locked price/currency stay frozen and cannot be changed here — to
replace the price, unlink and link again.

Requires `pipelines.update`.




## OpenAPI

````yaml /api-reference/openapi/EvoAI-CRM-Service/pipeline-item-products.yaml patch /api/v1/pipeline_items/{pipeline_item_id}/products/{id}
openapi: 3.0.4
info:
  title: Evolution Foundation - CRM Service - Pipeline Item Products
  description: >
    Links products (with optional variant, quantity and notes) to pipeline

    items — used by the "Venda" panel inside a pipeline item to track which

    catalog product is being negotiated.


    Available starting `v1.0.0-rc3`. The AI agent can also create these

    links automatically via the native tool `link_product_to_pipeline_item`.


    **Note:** This OpenAPI spec was generated from the controller as part of the
    rc3 release. Schemas reflect the controller surface but request/response
    examples may need refinement based on real payloads.
  version: 1.0.0
servers:
  - url: https://api.evoai.app
  - url: http://localhost:3000
security: []
paths:
  /api/v1/pipeline_items/{pipeline_item_id}/products/{id}:
    parameters:
      - name: pipeline_item_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
        description: ID of the link (not of the product itself)
    patch:
      summary: Update Linked Product
      description: |
        Updates **mutable** attributes of the link: `quantity` and `notes`.
        Locked price/currency stay frozen and cannot be changed here — to
        replace the price, unlink and link again.

        Requires `pipelines.update`.
      operationId: update-pipeline-item-product
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                quantity:
                  type: integer
                  minimum: 1
                notes:
                  type: string
      responses:
        '200':
          description: Pipeline item product updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineItemProductResponse'
        '422':
          $ref: '#/components/responses/ValidationError'
      security:
        - userApiKey: []
components:
  schemas:
    PipelineItemProductResponse:
      type: object
      required:
        - success
        - data
        - meta
        - message
      properties:
        success:
          type: boolean
          example: true
        data:
          $ref: '#/components/schemas/PipelineItemProduct'
        meta:
          type: object
          properties:
            timestamp:
              type: string
              format: date-time
        message:
          type: string
    PipelineItemProduct:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: ID of the link
        pipeline_item_id:
          type: string
          format: uuid
        product_id:
          type: string
          format: uuid
        product_variant_id:
          type: string
          format: uuid
          nullable: true
        product:
          type: object
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
            slug:
              type: string
        product_variant:
          type: object
          nullable: true
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
            sku:
              type: string
        quantity:
          type: integer
        notes:
          type: string
          nullable: true
        locked_price:
          type: number
          format: float
          description: Price at the moment of linking — frozen
        locked_currency:
          type: string
          description: Currency at the moment of linking — frozen
        actor_id:
          type: string
          format: uuid
          nullable: true
          description: User or agent that created/last updated the link
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
  responses:
    ValidationError:
      description: Validation failed
      content:
        application/json:
          schema:
            type: object
            properties:
              success:
                type: boolean
                example: false
              message:
                type: string
              details:
                type: array
                items:
                  type: string
  securitySchemes:
    userApiKey:
      type: apiKey
      in: header
      name: api_access_token

````

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