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

# freshsales-products

> Freshsales Products

**Server path:** `/freshsales-products` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                                                                        | Description                                |
| ----------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
| [`freshsales_products_bulk_assign_document_owner`](#freshsales_products_bulk_assign_document_owner)         | Bulk reassign CPQ document ownership       |
| [`freshsales_products_bulk_assign_product_owner`](#freshsales_products_bulk_assign_product_owner)           | Bulk reassign CPQ product ownership        |
| [`freshsales_products_bulk_delete_documents`](#freshsales_products_bulk_delete_documents)                   | Bulk delete CPQ documents                  |
| [`freshsales_products_bulk_delete_products`](#freshsales_products_bulk_delete_products)                     | Bulk delete CPQ products                   |
| [`freshsales_products_bulk_restore_documents`](#freshsales_products_bulk_restore_documents)                 | Bulk restore soft-deleted CPQ documents    |
| [`freshsales_products_bulk_restore_products`](#freshsales_products_bulk_restore_products)                   | Bulk restore soft-deleted CPQ products     |
| [`freshsales_products_bulk_update_documents`](#freshsales_products_bulk_update_documents)                   | Bulk update CPQ documents                  |
| [`freshsales_products_bulk_update_products`](#freshsales_products_bulk_update_products)                     | Bulk update CPQ products                   |
| [`freshsales_products_create_document`](#freshsales_products_create_document)                               | Create a CPQ document (proposal/quote)     |
| [`freshsales_products_create_product`](#freshsales_products_create_product)                                 | Create a CPQ product                       |
| [`freshsales_products_delete_document`](#freshsales_products_delete_document)                               | Soft-delete a CPQ document                 |
| [`freshsales_products_delete_product`](#freshsales_products_delete_product)                                 | Soft-delete a CPQ product                  |
| [`freshsales_products_delete_product_prices`](#freshsales_products_delete_product_prices)                   | Delete pricing entries for a CPQ product   |
| [`freshsales_products_forget_document`](#freshsales_products_forget_document)                               | Permanently delete (forget) a CPQ document |
| [`freshsales_products_get_document`](#freshsales_products_get_document)                                     | Get a CPQ document by ID                   |
| [`freshsales_products_get_product`](#freshsales_products_get_product)                                       | Get a CPQ product by ID                    |
| [`freshsales_products_list_document_related_products`](#freshsales_products_list_document_related_products) | List products on a CPQ document            |
| [`freshsales_products_restore_document`](#freshsales_products_restore_document)                             | Restore a soft-deleted CPQ document        |
| [`freshsales_products_restore_product`](#freshsales_products_restore_product)                               | Restore a soft-deleted CPQ product         |
| [`freshsales_products_update_document`](#freshsales_products_update_document)                               | Update a CPQ document                      |
| [`freshsales_products_update_document_products`](#freshsales_products_update_document_products)             | Update products on a CPQ document          |
| [`freshsales_products_update_product`](#freshsales_products_update_product)                                 | Update a CPQ product                       |
| [`freshsales_products_update_product_prices`](#freshsales_products_update_product_prices)                   | Update pricing for a CPQ product           |

***

## freshsales\_products\_bulk\_assign\_document\_owner

Bulk reassign CPQ document ownership

**Parameters:**

| Parameter      | Type       | Required | Default | Description                   |
| -------------- | ---------- | -------- | ------- | ----------------------------- |
| `owner_id`     | integer    | Yes      | —       | User ID of the new owner.     |
| `selected_ids` | integer\[] | Yes      | —       | IDs of documents to reassign. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "owner_id": {
        "type": "integer",
        "description": "User ID of the new owner."
      },
      "selected_ids": {
        "type": "array",
        "items": {
          "type": "integer"
        },
        "description": "IDs of documents to reassign."
      }
    },
    "required": [
      "PCID",
      "owner_id",
      "selected_ids"
    ]
  }
  ```
</Expandable>

***

## freshsales\_products\_bulk\_assign\_product\_owner

Bulk reassign CPQ product ownership

**Parameters:**

| Parameter      | Type       | Required | Default | Description                  |
| -------------- | ---------- | -------- | ------- | ---------------------------- |
| `owner_id`     | integer    | Yes      | —       | User ID of the new owner.    |
| `selected_ids` | integer\[] | Yes      | —       | IDs of products to reassign. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "owner_id": {
        "type": "integer",
        "description": "User ID of the new owner."
      },
      "selected_ids": {
        "type": "array",
        "items": {
          "type": "integer"
        },
        "description": "IDs of products to reassign."
      }
    },
    "required": [
      "PCID",
      "owner_id",
      "selected_ids"
    ]
  }
  ```
</Expandable>

***

## freshsales\_products\_bulk\_delete\_documents

Bulk delete CPQ documents

**Parameters:**

| Parameter      | Type       | Required | Default | Description                 |
| -------------- | ---------- | -------- | ------- | --------------------------- |
| `selected_ids` | integer\[] | Yes      | —       | IDs of documents to delete. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "selected_ids": {
        "type": "array",
        "items": {
          "type": "integer"
        },
        "description": "IDs of documents to delete."
      }
    },
    "required": [
      "PCID",
      "selected_ids"
    ]
  }
  ```
</Expandable>

***

## freshsales\_products\_bulk\_delete\_products

Bulk delete CPQ products

**Parameters:**

| Parameter      | Type       | Required | Default | Description                |
| -------------- | ---------- | -------- | ------- | -------------------------- |
| `selected_ids` | integer\[] | Yes      | —       | IDs of products to delete. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "selected_ids": {
        "type": "array",
        "items": {
          "type": "integer"
        },
        "description": "IDs of products to delete."
      }
    },
    "required": [
      "PCID",
      "selected_ids"
    ]
  }
  ```
</Expandable>

***

## freshsales\_products\_bulk\_restore\_documents

Bulk restore soft-deleted CPQ documents

**Parameters:**

| Parameter      | Type       | Required | Default | Description                  |
| -------------- | ---------- | -------- | ------- | ---------------------------- |
| `selected_ids` | integer\[] | Yes      | —       | IDs of documents to restore. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "selected_ids": {
        "type": "array",
        "items": {
          "type": "integer"
        },
        "description": "IDs of documents to restore."
      }
    },
    "required": [
      "PCID",
      "selected_ids"
    ]
  }
  ```
</Expandable>

***

## freshsales\_products\_bulk\_restore\_products

Bulk restore soft-deleted CPQ products

**Parameters:**

| Parameter      | Type       | Required | Default | Description                 |
| -------------- | ---------- | -------- | ------- | --------------------------- |
| `selected_ids` | integer\[] | Yes      | —       | IDs of products to restore. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "selected_ids": {
        "type": "array",
        "items": {
          "type": "integer"
        },
        "description": "IDs of products to restore."
      }
    },
    "required": [
      "PCID",
      "selected_ids"
    ]
  }
  ```
</Expandable>

***

## freshsales\_products\_bulk\_update\_documents

Bulk update CPQ documents

**Parameters:**

| Parameter      | Type       | Required | Default | Description                                |
| -------------- | ---------- | -------- | ------- | ------------------------------------------ |
| `cpq_document` | object     | Yes      | —       | Fields to apply to all selected documents. |
| `selected_ids` | integer\[] | Yes      | —       | IDs of documents to update.                |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "cpq_document": {
        "type": "object",
        "description": "Fields to apply to all selected documents."
      },
      "selected_ids": {
        "type": "array",
        "items": {
          "type": "integer"
        },
        "description": "IDs of documents to update."
      }
    },
    "required": [
      "PCID",
      "cpq_document",
      "selected_ids"
    ]
  }
  ```
</Expandable>

***

## freshsales\_products\_bulk\_update\_products

Bulk update CPQ products

**Parameters:**

| Parameter      | Type       | Required | Default | Description                               |
| -------------- | ---------- | -------- | ------- | ----------------------------------------- |
| `product`      | object     | Yes      | —       | Fields to apply to all selected products. |
| `selected_ids` | integer\[] | Yes      | —       | IDs of products to update.                |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "product": {
        "type": "object",
        "description": "Fields to apply to all selected products."
      },
      "selected_ids": {
        "type": "array",
        "items": {
          "type": "integer"
        },
        "description": "IDs of products to update."
      }
    },
    "required": [
      "PCID",
      "product",
      "selected_ids"
    ]
  }
  ```
</Expandable>

***

## freshsales\_products\_create\_document

Create a CPQ document (proposal/quote)

**Parameters:**

| Parameter      | Type   | Required | Default | Description                                                                                                                             |
| -------------- | ------ | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `cpq_document` | object | Yes      | —       | Document fields. Common keys: name (required), deal\_id, owner\_id, cpq\_document\_template\_id, custom\_field (object of cf\_\* keys). |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "cpq_document": {
        "type": "object",
        "description": "Document fields. Common keys: name (required), deal_id, owner_id, cpq_document_template_id, custom_field (object of cf_* keys)."
      }
    },
    "required": [
      "PCID",
      "cpq_document"
    ]
  }
  ```
</Expandable>

***

## freshsales\_products\_create\_product

Create a CPQ product

**Parameters:**

| Parameter | Type   | Required | Default | Description                                                                                                                                                      |
| --------- | ------ | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `product` | object | Yes      | —       | Product fields. Common keys: name (required), category, sku, description, is\_active (boolean), product\_code, owner\_id, custom\_field (object of cf\_\* keys). |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "product": {
        "type": "object",
        "description": "Product fields. Common keys: name (required), category, sku, description, is_active (boolean), product_code, owner_id, custom_field (object of cf_* keys)."
      }
    },
    "required": [
      "PCID",
      "product"
    ]
  }
  ```
</Expandable>

***

## freshsales\_products\_delete\_document

Soft-delete a CPQ document

**Parameters:**

| Parameter | Type    | Required | Default | Description                                |
| --------- | ------- | -------- | ------- | ------------------------------------------ |
| `id`      | integer | Yes      | —       | Numeric ID of the document to soft-delete. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "integer",
        "description": "Numeric ID of the document to soft-delete."
      }
    },
    "required": [
      "PCID",
      "id"
    ]
  }
  ```
</Expandable>

***

## freshsales\_products\_delete\_product

Soft-delete a CPQ product

**Parameters:**

| Parameter | Type    | Required | Default | Description                               |
| --------- | ------- | -------- | ------- | ----------------------------------------- |
| `id`      | integer | Yes      | —       | Numeric ID of the product to soft-delete. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "integer",
        "description": "Numeric ID of the product to soft-delete."
      }
    },
    "required": [
      "PCID",
      "id"
    ]
  }
  ```
</Expandable>

***

## freshsales\_products\_delete\_product\_prices

Delete pricing entries for a CPQ product

**Parameters:**

| Parameter             | Type       | Required | Default | Description                                   |
| --------------------- | ---------- | -------- | ------- | --------------------------------------------- |
| `id`                  | integer    | Yes      | —       | Numeric ID of the product.                    |
| `product_pricing_ids` | integer\[] | Yes      | —       | IDs of the product pricing records to delete. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "integer",
        "description": "Numeric ID of the product."
      },
      "product_pricing_ids": {
        "type": "array",
        "items": {
          "type": "integer"
        },
        "description": "IDs of the product pricing records to delete."
      }
    },
    "required": [
      "PCID",
      "id",
      "product_pricing_ids"
    ]
  }
  ```
</Expandable>

***

## freshsales\_products\_forget\_document

Permanently delete (forget) a CPQ document

**Parameters:**

| Parameter | Type    | Required | Default | Description                                       |
| --------- | ------- | -------- | ------- | ------------------------------------------------- |
| `id`      | integer | Yes      | —       | Numeric ID of the document to permanently delete. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "integer",
        "description": "Numeric ID of the document to permanently delete."
      }
    },
    "required": [
      "PCID",
      "id"
    ]
  }
  ```
</Expandable>

***

## freshsales\_products\_get\_document

Get a CPQ document by ID

**Parameters:**

| Parameter | Type    | Required | Default | Description                                                |
| --------- | ------- | -------- | ------- | ---------------------------------------------------------- |
| `id`      | integer | Yes      | —       | Numeric ID of the document.                                |
| `include` | string  | No       | —       | Comma-separated list of associated resources to side-load. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "integer",
        "description": "Numeric ID of the document."
      },
      "include": {
        "type": "string",
        "description": "Comma-separated list of associated resources to side-load."
      }
    },
    "required": [
      "PCID",
      "id"
    ]
  }
  ```
</Expandable>

***

## freshsales\_products\_get\_product

Get a CPQ product by ID

**Parameters:**

| Parameter | Type    | Required | Default | Description                                                |
| --------- | ------- | -------- | ------- | ---------------------------------------------------------- |
| `id`      | integer | Yes      | —       | Numeric ID of the product.                                 |
| `include` | string  | No       | —       | Comma-separated list of associated resources to side-load. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "integer",
        "description": "Numeric ID of the product."
      },
      "include": {
        "type": "string",
        "description": "Comma-separated list of associated resources to side-load."
      }
    },
    "required": [
      "PCID",
      "id"
    ]
  }
  ```
</Expandable>

***

## freshsales\_products\_list\_document\_related\_products

List products on a CPQ document

**Parameters:**

| Parameter | Type    | Required | Default | Description                                    |
| --------- | ------- | -------- | ------- | ---------------------------------------------- |
| `id`      | integer | Yes      | —       | Numeric ID of the document.                    |
| `page`    | integer | No       | —       | Page number for paginated results (default 1). |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "integer",
        "description": "Numeric ID of the document."
      },
      "page": {
        "type": "integer",
        "description": "Page number for paginated results (default 1)."
      }
    },
    "required": [
      "PCID",
      "id"
    ]
  }
  ```
</Expandable>

***

## freshsales\_products\_restore\_document

Restore a soft-deleted CPQ document

**Parameters:**

| Parameter | Type    | Required | Default | Description                            |
| --------- | ------- | -------- | ------- | -------------------------------------- |
| `id`      | integer | Yes      | —       | Numeric ID of the document to restore. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "integer",
        "description": "Numeric ID of the document to restore."
      }
    },
    "required": [
      "PCID",
      "id"
    ]
  }
  ```
</Expandable>

***

## freshsales\_products\_restore\_product

Restore a soft-deleted CPQ product

**Parameters:**

| Parameter | Type    | Required | Default | Description                           |
| --------- | ------- | -------- | ------- | ------------------------------------- |
| `id`      | integer | Yes      | —       | Numeric ID of the product to restore. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "integer",
        "description": "Numeric ID of the product to restore."
      }
    },
    "required": [
      "PCID",
      "id"
    ]
  }
  ```
</Expandable>

***

## freshsales\_products\_update\_document

Update a CPQ document

**Parameters:**

| Parameter      | Type    | Required | Default | Description                                                                             |
| -------------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------- |
| `id`           | integer | Yes      | —       | Numeric ID of the document to update.                                                   |
| `cpq_document` | object  | Yes      | —       | Partial document fields to update. Any key accepted by createDocument is accepted here. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "integer",
        "description": "Numeric ID of the document to update."
      },
      "cpq_document": {
        "type": "object",
        "description": "Partial document fields to update. Any key accepted by createDocument is accepted here."
      }
    },
    "required": [
      "PCID",
      "id",
      "cpq_document"
    ]
  }
  ```
</Expandable>

***

## freshsales\_products\_update\_document\_products

Update products on a CPQ document

**Parameters:**

| Parameter  | Type      | Required | Default | Description                                                                                                                                 |
| ---------- | --------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`       | integer   | Yes      | —       | Numeric ID of the document.                                                                                                                 |
| `products` | object\[] | Yes      | —       | Array of product line items. Each item: \{product\_id, quantity, discount, ...}. Additional fields depend on your Freshsales configuration. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "integer",
        "description": "Numeric ID of the document."
      },
      "products": {
        "type": "array",
        "items": {
          "type": "object"
        },
        "description": "Array of product line items. Each item: {product_id, quantity, discount, ...}. Additional fields depend on your Freshsales configuration."
      }
    },
    "required": [
      "PCID",
      "id",
      "products"
    ]
  }
  ```
</Expandable>

***

## freshsales\_products\_update\_product

Update a CPQ product

**Parameters:**

| Parameter | Type    | Required | Default | Description                                                                           |
| --------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------- |
| `id`      | integer | Yes      | —       | Numeric ID of the product to update.                                                  |
| `product` | object  | Yes      | —       | Partial product fields to update. Any key accepted by createProduct is accepted here. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "integer",
        "description": "Numeric ID of the product to update."
      },
      "product": {
        "type": "object",
        "description": "Partial product fields to update. Any key accepted by createProduct is accepted here."
      }
    },
    "required": [
      "PCID",
      "id",
      "product"
    ]
  }
  ```
</Expandable>

***

## freshsales\_products\_update\_product\_prices

Update pricing for a CPQ product

**Parameters:**

| Parameter          | Type      | Required | Default | Description                                                                                                                        |
| ------------------ | --------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `id`               | integer   | Yes      | —       | Numeric ID of the product.                                                                                                         |
| `product_pricings` | object\[] | Yes      | —       | Array of pricing entries. Each item: \{currency\_id, unit\_price, ...}. Additional fields depend on your Freshsales configuration. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "integer",
        "description": "Numeric ID of the product."
      },
      "product_pricings": {
        "type": "array",
        "items": {
          "type": "object"
        },
        "description": "Array of pricing entries. Each item: {currency_id, unit_price, ...}. Additional fields depend on your Freshsales configuration."
      }
    },
    "required": [
      "PCID",
      "id",
      "product_pricings"
    ]
  }
  ```
</Expandable>
