Flavours API
Product

Update Product

POST
/api/v2/products/{productId}

Update an existing product and its modifiers, prices, ingredients and recipes.

AuthorizationBearer <token>

You can retrieve your token by logging in.

In: header

Path Parameters

productId*string

Header Parameters

X-API-Version*string

API contract version to target. See the Changelog for what changed in each version.

Default"2.0.0"
Value in"2.3.0" | "2.2.0" | "2.1.0" | "2.0.0"

Request Body

application/json

branch_id?|

Must match an existing stored value.

category_id?|
qoyod_id?|

Must not be greater than 191 characters.

name_en?|

Must not be greater than 350 characters.

name_ar?|

Must not be greater than 350 characters.

description_en?|

Must not be greater than 2000 characters.

description_ar?|

Must not be greater than 2000 characters.

duration?|

Must be at least 0.

order?|

Must be at least 0.

images*array<>

Must be a valid URL.

exclusions?array<>

Must match an existing stored value.

min_additionals?|

Must be at least 0.

max_additionals?|

Must be at least 0.

is_active?|
options?array<|>

Must have at least 1 items.

additionals?array<|>

Must have at least 0 items.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.flavours.sa/dev/api/v2/products/deleniti" \  -H "X-API-Version: 2.3.0" \  -H "Content-Type: application/json" \  -d '{    "images": [      "http://www.corkery.info/"    ]  }'
{
  "meta": {
    "code": 200,
    "status": "success",
    "message": "Product updated successfully."
  },
  "data": {
    "id": "d3d79d8e-0bec-4607-8ee9-3c52b7c684fa",
    "market_id": "848aa3f5-fc3d-42d3-8cc9-4c6edd0140d0",
    "branch_id": null,
    "name_en": "Updated Name",
    "name_ar": "اسم محدث",
    "description_en": null,
    "description_ar": null,
    "stock": 0,
    "order": 29,
    "images": null,
    "is_active": true,
    "created_at": 1787446703756,
    "updated_at": 1787446703779,
    "deleted_at": null,
    "rating_amount": 0,
    "rating_avg": "0.00",
    "sold_amount": 0,
    "sold_revenue": 0,
    "qoyod_id": null,
    "min_additionals": null,
    "max_additionals": null,
    "is_global": false,
    "stock_modifiers_sum_stock": null,
    "options_min_total": null,
    "options_max_total": null,
    "product_category_id": null,
    "preparation_time": null,
    "market": {
      "id": "848aa3f5-fc3d-42d3-8cc9-4c6edd0140d0",
      "sector_id": 10,
      "name_en": "Howell, Baumbach and Hagenes",
      "name_ar": "Ankunding, Marks and Stracke",
      "description_en": "Culpa et inventore quo error sed.",
      "description_ar": null,
      "logo_img": "https://via.placeholder.com/200x200.png/006655?text=business+logo+quidem",
      "cover_img": "https://via.placeholder.com/200x200.png/00cc77?text=business+cover+dolorem",
      "email": "[email protected]",
      "phone_prefix": "973",
      "phone_number": "7148591204",
      "crn": "030-077-7963",
      "tax_number": "90476326386",
      "created_by": null,
      "email_verified_at": 1787446674909,
      "phone_verified_at": 1787446674909,
      "created_at": 1787446674760,
      "updated_at": 1787446695752,
      "deleted_at": null,
      "is_active": true,
      "merchant_id": null,
      "reseller_id": null,
      "slug": "kunde-ltd",
      "code": "ENT-0000000001",
      "links": {
        "website": null,
        "instagram": null,
        "youtube": null,
        "x": null,
        "call_center": null
      },
      "phone": "7148591204"
    },
    "branch": null,
    "category": null,
    "exclusions": [],
    "options": [],
    "additionals": []
  }
}
{
  "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": 422,
    "status": "error",
    "message": "The options.0.is_tax_included field is required."
  },
  "data": [
    {
      "code": 0,
      "message": "The options.0.is_tax_included field is required.",
      "field": "options.0.is_tax_included"
    }
  ]
}
{
  "meta": {
    "code": 500,
    "status": "error",
    "message": "Internal server error."
  },
  "data": null
}