Add Item
Sync an item to iTajir. Includes base item info, sellable UOMs (conversion factor, optional barcode, price), and an optional image payload. Image attach failures return as non-blocking warnings.
Endpoint
Headers
RequiredParams
Body JSON- item (Object) — Required
- item_image (Object) — Optional
- item.uoms (Array) — Required (must include stock_uom)
- item.tax_type (String) — Optional (must be one of the values returned by Get Tax Types API)
Rules
Validation- item_group must match an existing group returned by Get Item Groups.
- uoms must include the stock_uom entry (recommended: conversion_factor = 1).
- uom values must exist in iTajir (use Get UOMs).
- price_list_rate is required for each UOM; if missing/invalid, the request fails.
- price_list_rate must include VAT.
- barcode is optional. If provided, each barcode must be unique in payload and database.
- tax_type is optional. If provided, each tax_type must be one of the values returned by Get Tax Types API. If NOT provided, default tax type is used (15%).
- Image upload errors do not block item creation; they appear in warnings.
- If item_code already exists (or is not unique), the request fails and the item is not created.
Examples
Request{
"item": {
"item_code": "ITJ-TOY-27419",
"item_name": "مكعبات بناء مغناطيسية",
"item_group": "تعلمية و تنمية فكرية",
"stock_uom": "حبة",
"uoms": [
{
"conversion_factor": 1,
"uom": "حبة",
"barcode": "6291000123456",
"price_list_rate": 29.95
},
{
"conversion_factor": 12,
"uom": "درزن",
"barcode": "6291000123463",
"price_list_rate": 329.00
}
]
},
"tax_type": "5",
"item_image": {
"content": "iVBORw0KGgoAAAANSUhEUgAA...<base64 truncated>...5ErkJggg=="
}
}
Schema Notes
Quick| Field | Req | Description |
|---|---|---|
| item.item_code | Yes | Unique item identifier (primary key). |
| item.item_name | Yes | Display name. |
| item.item_group | Yes | Must exist in Item Groups. |
| item.stock_uom | Yes | Base UOM for inventory tracking. |
| item.uoms[] | Yes | Must include the stock_uom entry. |
| item.tax_type | No | If provided, must be one of the values returned by Get Tax Types API. |
| item_image.content | No | Raw Base64 (no prefix). Warnings on failure. |
Responses
Examples{
"success": true,
"message": "Item synced.",
"data": {
"item": "ITEM-000912"
},
"warnings": [
{
"code": "IMAGE_NOT_ATTACHED",
"message": "No image content provided.",
"details": null
}
]
}
{
"success": false,
"error": {
"code": "BARCODE_NOT_UNIQUE",
"message": "The following barcode(s) already exist in the system: 6291000123456, 6291000999001.",
"details": {
"conflicts": [
"6291000123456",
"6291000999001"
]
}
}
}