IKEA · Schema
AvailabilityEnvelope
Availability envelope containing availabilities, sales Sales Locations and errors.
RetailHome FurnishingsConsumer ProductsOpensourceCommunityUnofficial APISmart Home
Properties
| Name | Type | Description |
|---|---|---|
| availabilities | array | List of product availabilities |
| salesLocations | array | |
| errors | array | List of errors |
| timestamp | string | ISO 8601 formatted timestamp with timezone |
| traceId | string | Unique trace identifier for debugging and log correlation |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/ikea/refs/heads/main/json-schema/ikea-sales-item-availability-envelope-schema.json",
"title": "AvailabilityEnvelope",
"description": "Availability envelope containing availabilities, sales Sales Locations and errors.",
"type": "object",
"properties": {
"availabilities": {
"type": "array",
"description": "List of product availabilities",
"items": {
"type": "object",
"description": "Availability of a Product",
"properties": {
"availableForCashCarry": {
"type": "boolean",
"example": true
},
"availableForClickCollect": {
"type": "boolean",
"example": false
},
"buyingOption": {
"type": "object",
"example": {
"clickCollect": {
"range": {
"inRange": true
}
}
}
},
"childAvailabilities": {
"type": "array",
"items": {
"type": "object",
"description": "Availability of a Product",
"properties": {
"availableForCashCarry": {
"type": "boolean",
"example": true
},
"availableForClickCollect": {
"type": "boolean",
"example": false
},
"buyingOption": {
"type": "object",
"example": {
"clickCollect": {
"range": {
"inRange": true
}
}
}
},
"childAvailabilities": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Availability"
},
"example": []
},
"classUnitKey": {
"type": "object",
"description": "Class Unit Key gives context when invoking the AvailabilityClassifications API.\n",
"properties": {
"classUnitCode": {
"type": "string",
"minLength": 2,
"maxLength": 5,
"description": "`classUnitCode` is the unique identifier of a Class Unit when\ncombined with a `classUnitType`.\n\nA valid `classUnitCode` always has a pattern like `^([A-Z]|[0-9]){2,5}$`.\n\nThis can either be a:\n\n* **Retail Unit** - Retail Unit must be combined with a valid `classUnitCode`. For example, `SE` for Sweden or `DE` for Germany. A list of valid Class Units can be found [in CBD](https://iwww.cbdview.ikea.com/) (requires VPN or internal network).\n* **Store ID** - The 3-digit store ID. E.g. `066`.\n",
"examples": [
"GB",
"DE",
"066"
]
},
"classUnitType": {
"type": "string",
"description": "Class Unit Type:\n * `RU` - Retail Unit - Retail Unit must be combined with a valid `classUnitCode`. For example, `SE` for Sweden or `DE` for Germany. A list of valid Retail Units can be found [in CBD](https://iwww.cbdview.ikea.com/) (requires VPN or internal network).\n * `STO` - Store - The store availability for a given store\n",
"enum": [
"RU",
"STO"
],
"example": "RU"
}
}
},
"itemKey": {
"type": "object",
"description": "Item key (Product ID and Item type)",
"properties": {
"itemNo": {
"$ref": "#/components/schemas/productId"
},
"itemType": {
"$ref": "#/components/schemas/itemType"
}
}
}
}
},
"example": []
},
"classUnitKey": {
"type": "object",
"description": "Class Unit Key gives context when invoking the AvailabilityClassifications API.\n",
"properties": {
"classUnitCode": {
"type": "string",
"minLength": 2,
"maxLength": 5,
"description": "`classUnitCode` is the unique identifier of a Class Unit when\ncombined with a `classUnitType`.\n\nA valid `classUnitCode` always has a pattern like `^([A-Z]|[0-9]){2,5}$`.\n\nThis can either be a:\n\n* **Retail Unit** - Retail Unit must be combined with a valid `classUnitCode`. For example, `SE` for Sweden or `DE` for Germany. A list of valid Class Units can be found [in CBD](https://iwww.cbdview.ikea.com/) (requires VPN or internal network).\n* **Store ID** - The 3-digit store ID. E.g. `066`.\n",
"examples": [
"GB",
"DE",
"066"
]
},
"classUnitType": {
"type": "string",
"description": "Class Unit Type:\n * `RU` - Retail Unit - Retail Unit must be combined with a valid `classUnitCode`. For example, `SE` for Sweden or `DE` for Germany. A list of valid Retail Units can be found [in CBD](https://iwww.cbdview.ikea.com/) (requires VPN or internal network).\n * `STO` - Store - The store availability for a given store\n",
"enum": [
"RU",
"STO"
],
"example": "RU"
}
}
},
"itemKey": {
"type": "object",
"description": "Item key (Product ID and Item type)",
"properties": {
"itemNo": {
"type": "string",
"description": "Product identifier",
"example": "00263850"
},
"itemType": {
"type": "string",
"description": "Item type code\n",
"enum": [
"ART",
"SPR"
],
"example": "SPR"
}
}
}
}
}
},
"salesLocations": {
"type": "array",
"items": {
"type": "object",
"description": null,
"properties": {
"childItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"itemKey": {
"type": "object",
"description": "Item key (Product ID and Item type)",
"properties": {
"itemNo": {
"$ref": "#/components/schemas/productId"
},
"itemType": {
"$ref": "#/components/schemas/itemType"
}
}
},
"salesLocations": {
"type": "array",
"items": {
"type": "object",
"example": {
"aisleAndBin": {
"aisle": "06",
"bin": "01"
},
"division": "SELF_SERVE",
"id": "060100",
"recommendationRank": 1,
"type": "AISLE_AND_BIN"
}
}
}
}
}
},
"classUnitKey": {
"type": "object",
"description": "Class Unit Key gives context when invoking the AvailabilityClassifications API.\n",
"properties": {
"classUnitCode": {
"type": "string",
"minLength": 2,
"maxLength": 5,
"description": "`classUnitCode` is the unique identifier of a Class Unit when\ncombined with a `classUnitType`.\n\nA valid `classUnitCode` always has a pattern like `^([A-Z]|[0-9]){2,5}$`.\n\nThis can either be a:\n\n* **Retail Unit** - Retail Unit must be combined with a valid `classUnitCode`. For example, `SE` for Sweden or `DE` for Germany. A list of valid Class Units can be found [in CBD](https://iwww.cbdview.ikea.com/) (requires VPN or internal network).\n* **Store ID** - The 3-digit store ID. E.g. `066`.\n",
"examples": [
"GB",
"DE",
"066"
]
},
"classUnitType": {
"type": "string",
"description": "Class Unit Type:\n * `RU` - Retail Unit - Retail Unit must be combined with a valid `classUnitCode`. For example, `SE` for Sweden or `DE` for Germany. A list of valid Retail Units can be found [in CBD](https://iwww.cbdview.ikea.com/) (requires VPN or internal network).\n * `STO` - Store - The store availability for a given store\n",
"enum": [
"RU",
"STO"
],
"example": "RU"
}
}
},
"itemKey": {
"type": "object",
"description": "Item key (Product ID and Item type)",
"properties": {
"itemNo": {
"type": "string",
"description": "Product identifier",
"example": "00263850"
},
"itemType": {
"type": "string",
"description": "Item type code\n",
"enum": [
"ART",
"SPR"
],
"example": "SPR"
}
}
}
}
}
},
"errors": {
"type": "array",
"description": "List of errors",
"items": {
"type": "object",
"required": [
"code",
"message"
],
"description": "Error object describing the reason of failure",
"properties": {
"code": {
"type": "integer",
"description": "Error Codes:\n * `404` - Not found\n * `405` - ClassUnitCode doesn't exist\n * `602` - itemNos in query is required\n * `604` - itemNos.`n` in query should be at least 8 chars long. Where `n` is the positional indicator for the parameter.\n * `606` - expand.`n` in query should be one of [ChildItems Restocks StoresList SalesLocations DeliveryPrice CollectPrice DisplayLocations DeliveryTime FoodAvailabilities]. Where `n` is the positional indicator for the parameter.\n",
"example": 404
},
"details": {
"type": "object",
"description": "Additional error details. These change depending on the context of the query.",
"example": {
"classUnitCode": "DE",
"classUnitType": "RU",
"itemNo": "s59047406"
}
},
"message": {
"type": "string",
"description": "Error message indicating the failure",
"example": "Not found"
}
}
}
},
"timestamp": {
"type": "string",
"description": "ISO 8601 formatted timestamp with timezone",
"format": "date-time",
"example": "2025-09-10T14:23:33.956Z"
},
"traceId": {
"type": "string",
"description": "Unique trace identifier for debugging and log correlation",
"example": "4119683959736817039"
}
},
"required": [
"availabilities",
"timestamp",
"traceId"
]
}