For AI agents: markdown of this page — /docs-content-en/entities/quotes/products-update.md documentation index — /llms.txt

Update quote product

PATCH /v1/quotes/:id/products/:rowId

Updates a product line of a quote. Pass only the fields you want to change.

Parameters

Parameter Type Required Description
id (path) number yes Quote ID
rowId (path) number yes Product line ID (from the list or add response, not the productId from the catalog)

Request fields (body)

Parameter Type Description
price number Unit price
quantity number Quantity
productId number Product ID. Catalog: GET /v1/products
discount number Discount amount
taxRate number Tax rate (%)
taxIncluded boolean Tax included in price
sort number Sort order

Examples

curl — personal key

Terminal
curl -X PATCH "https://vibecode.bitrix24.com/v1/quotes/741/products/1471" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "price": 9999, "quantity": 10 }'

curl — OAuth app

Terminal
curl -X PATCH "https://vibecode.bitrix24.com/v1/quotes/741/products/1471" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "price": 9999, "quantity": 10 }'

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/quotes/741/products/1471', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ price: 9999, quantity: 10 }),
})

const { success, data } = await res.json()
console.log('Updated:', data.price, 'x', data.quantity)

JavaScript — OAuth app

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/quotes/741/products/1471', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ price: 9999, quantity: 10 }),
})

const { success, data } = await res.json()

Response fields

Updated product line object: id, productId, productName, price, quantity, discount, taxRate, taxIncluded.

Response example

JSON
{
  "success": true,
  "data": {
    "id": 1471,
    "productId": 1,
    "productName": "Server equipment",
    "price": 9999,
    "quantity": 10,
    "discount": 0,
    "taxRate": null,
    "taxIncluded": false
  }
}

Error response example

404 — line not found:

JSON
{
  "success": false,
  "error": {
    "code": "ENTITY_NOT_FOUND",
    "message": "Item not found"
  }
}

Errors

HTTP Code Description
404 ENTITY_NOT_FOUND Line not found
403 SCOPE_DENIED API key does not have the crm scope
401 TOKEN_MISSING API key has no configured tokens

Full list of common API errors — Errors.

See also