Barcode Types
List every supported barcode symbology with its validation rule set (charset, min/max length, whether a check digit is validated/auto-computed). The frontend mirrors this exact rule set for parity.
Authorization
API-TOKEN Your partner API key. Send it in the API-TOKEN header on every request.
In: header
Header Parameters
API contract version to target. See the Changelog for what changed in each version.
"2.0.0""2.3.0" | "2.2.0" | "2.1.0" | "2.0.0"Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://api.flavours.sa/dev/api/v2/products/modifiers/barcode/types" \ -H "X-API-Version: 2.3.0"{
"meta": {
"code": 200,
"status": "success",
"message": "Barcode types retrieved successfully."
},
"data": [
{
"type": "CODE_128",
"charset": "Any printable ASCII character.",
"min_length": 1,
"max_length": 80,
"check_digit": false
},
{
"type": "EAN_13",
"charset": "Digits only; 12 digits (check digit auto-computed) or a full 13-digit code.",
"min_length": 12,
"max_length": 13,
"check_digit": true
},
{
"type": "EAN_8",
"charset": "Digits only; 7 digits (check digit auto-computed) or a full 8-digit code.",
"min_length": 7,
"max_length": 8,
"check_digit": true
},
{
"type": "CODE_39",
"charset": "Digits, A-Z, space and - . $ / + %.",
"min_length": 1,
"max_length": 80,
"check_digit": false
},
{
"type": "CODE_39_VIN",
"charset": "Exactly 17 VIN characters (A-Z except I, O, Q and digits).",
"min_length": 17,
"max_length": 17,
"check_digit": false
},
{
"type": "CODABAR",
"charset": "Digits and - $ : / . +, with optional A-D start/stop.",
"min_length": 1,
"max_length": 80,
"check_digit": false
},
{
"type": "UPC_A",
"charset": "Digits only; 11 digits (check digit auto-computed) or a full 12-digit code.",
"min_length": 11,
"max_length": 12,
"check_digit": true
},
{
"type": "UPC_E",
"charset": "Digits only; 6-8 digits (check digit auto-computed).",
"min_length": 6,
"max_length": 8,
"check_digit": true
},
{
"type": "INTERLEAVED_2_OF_5",
"charset": "Digits only; a leading zero is added when the length is odd.",
"min_length": 1,
"max_length": 80,
"check_digit": false
},
{
"type": "STANDARD_2_OF_5",
"charset": "Digits only.",
"min_length": 1,
"max_length": 80,
"check_digit": false
},
{
"type": "CODE_93",
"charset": "Any printable ASCII character.",
"min_length": 1,
"max_length": 80,
"check_digit": false
}
]
}{
"meta": {
"code": 401,
"status": "error",
"message": "Unauthenticated."
},
"data": null
}{
"meta": {
"code": 403,
"status": "error",
"message": "Unauthorized."
},
"data": null
}{
"meta": {
"code": 404,
"status": "error",
"message": "Resource not found."
},
"data": null
}{
"meta": {
"code": 500,
"status": "error",
"message": "Internal server error."
},
"data": null
}Update Product Modifier POST
Update a modifier of a product.
Barcode Variants GET
Paginated, searchable list of every barcode-bearing modifier for the export drawer table. Each row carries the owning product (localized name + id), the variant's own localized name and its `kind` (`OPTION` for a product option, `ADD_ON` for an add-on, `ADD_ON_GROUP` for an add-on-group option), the `barcode` value and `barcode_type`, and the `id` the frontend sends back to `/export/product-barcode`. Only rows with a non-empty barcode are returned, scoped to the caller's tenant (market). `search` matches the barcode, the variant name, and the product name. Add-on and add-on-group barcodes are included (the older product-key export dropped them).