For AI agents: markdown of this page — /docs-content-en/entities/catalog-offers/get.md documentation index — /llms.txt
Get an offer
GET /v1/catalog-offers/:id
Returns a single product offer by ID, together with its link to the parent product and its catalog properties.
The response contains more fields than the list: in addition to the reduced set, it returns the symbolic code, dimensions, texts, images and catalog properties of the form propertyNNN.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id (path) |
number | yes | Offer identifier. List: GET /v1/catalog-offers |
Examples
curl — personal key
curl "https://vibecode.bitrix24.com/v1/catalog-offers/7191" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl "https://vibecode.bitrix24.com/v1/catalog-offers/7191" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — personal key
const res = await fetch('https://vibecode.bitrix24.com/v1/catalog-offers/7191', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { success, data } = await res.json()
console.log('Offer:', data.name, 'parent product:', data.parentId?.value)
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/catalog-offers/7191', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { success, data } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
success |
boolean | Always true on success |
data |
object | Offer object. All fields — see Offer fields |
Beyond the fields the list returns, a single record contains:
code— symbolic codexmlId— external codesort— sort ordervatId— VAT rate ID. List:GET /v1/catalog-vat-rateswidth,height,length— dimensionspreviewText,detailText,previewTextType,detailTextType— texts and their formatpreviewPicture,detailPicture— imagesquantityReserved— reserved stockrecurSchemeLength,recurSchemeType,trialPriceId— parameters for content sales in on-premise Bitrix24- catalog properties of the form
propertyNNN, whereNNNis the propertyidfromGET /v1/catalog-product-properties. An empty property is returned asnull; a filled multiple-value property is returned as an array of{ value, valueId }objects
Fields with an empty value are returned as null.
Response example
The main fields are shown.
{
"success": true,
"data": {
"id": 7191,
"iblockId": 27,
"iblockSectionId": null,
"name": "Basic T-shirt, size M",
"parentId": { "value": "7189", "valueId": "3895" },
"type": 4,
"active": true,
"available": true,
"code": null,
"xmlId": "7191",
"sort": 500,
"measure": 9,
"vatId": null,
"vatIncluded": false,
"purchasingPrice": 450,
"purchasingCurrency": "USD",
"quantity": null,
"quantityReserved": null,
"quantityTrace": true,
"canBuyZero": true,
"weight": null,
"width": null,
"height": null,
"length": null,
"previewText": null,
"previewTextType": "text",
"detailPicture": null,
"property907": null,
"property909": null,
"createdBy": 1295,
"dateCreate": "2026-10-08T18:41:55.000Z",
"timestampX": "2026-10-08T18:41:55.000Z"
}
}
Error response example
404 — no offer with this id exists:
{
"success": false,
"error": {
"code": "ENTITY_NOT_FOUND",
"message": "offer does not exist."
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| 404 | ENTITY_NOT_FOUND |
No record with the specified id exists (offer does not exist.) |
| 404 | ENTITY_NOT_FOUND |
A record with the specified id exists, but it is not an offer — for example, a regular or parent product (catalogOffer <id> not found) |
| 403 | SCOPE_DENIED |
The API key does not have the catalog scope |
| 401 | MISSING_API_KEY |
The X-Api-Key header was not passed |
Full list of common API errors — Errors.
Known specifics
Free offer. An offer created without a parent product is returned with parentId: null and type: 5. An offer linked to a parent product has type 4, and the parent product ID is returned as a string in parentId.value.