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

Get a product from an item

GET /v1/items/:entityTypeId/:id/products/:rowId

Returns a single item product line by row ID.

Parameters

Parameter Type Required Description
entityTypeId (path) number yes Smart process type ID
id (path) number yes Item ID
rowId (path) number yes Product line ID (from the add or list response)

rowId is the product line ID, not the productId from the product catalog.

Examples

curl — personal key

Terminal
curl -X GET "https://vibecode.bitrix24.com/v1/items/156/741/products/1471" \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth application

Terminal
curl -X GET "https://vibecode.bitrix24.com/v1/items/156/741/products/1471" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/items/156/741/products/1471', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

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

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/items/156/741/products/1471', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

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

Response fields

Field Type Description
data.id number Product line ID
data.productId number Product ID. Catalog: GET /v1/products
data.productName string Product name
data.price number Unit price
data.quantity number Quantity
data.discount number Discount amount
data.discountRate number Discount percent
data.discountTypeId number Discount type (1 — amount, 2 — percent)
data.taxRate number | null Tax rate (%)
data.taxIncluded boolean Tax included in price
data.priceExclusive number Price without tax, with discount
data.priceNetto number Net price
data.priceBrutto number Gross price
data.priceAccount number Price in accounting currency
data.measureCode number Measurement unit code
data.measureName string Measurement unit name
data.sort number Sort order

Response example

JSON
{
  "success": true,
  "data": {
    "id": 1471,
    "productId": 1,
    "productName": "Good day!",
    "price": 5000,
    "priceAccount": 5000,
    "priceExclusive": 5000,
    "priceNetto": 5000,
    "priceBrutto": 5000,
    "quantity": 3,
    "discountTypeId": 2,
    "discountRate": 0,
    "discount": 0,
    "taxRate": null,
    "taxIncluded": false,
    "customized": "Y",
    "measureCode": 796,
    "measureName": "pcs",
    "sort": 0,
    "xmlId": "sale_basket_995",
    "type": 1
  }
}

Error response example

404 — item or product line not found:

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

Errors

HTTP Code Description
400 INVALID_DYNAMIC_PARAM entityTypeId is not a positive integer or is reserved (1, 2, 3, 4, 7, 31)
400 INVALID_ROW_ID rowId is not a positive integer
404 ENTITY_NOT_FOUND Item or product line not found
404 NOT_FOUND Bitrix24 returned success but the product row is absent (Product row not found)
403 SCOPE_DENIED The API key lacks the crm scope
401 TOKEN_MISSING The API key has no configured tokens

Full list of common API errors — Errors.

See also