Skip to main content
POST
/
foods
Create a food
curl --request POST \
  --url https://api.salesive.com/api/v1/foods \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "Margherita Pizza",
  "description": "Tomato, mozzarella, basil",
  "price": 12.5,
  "category": "66a2a0aae1b3a40012cd0001",
  "images": [
    "https://cdn.salesive.com/f/margherita.jpg"
  ],
  "available": true,
  "listed": true,
  "addons": [
    {
      "name": "Extra cheese",
      "price": 2,
      "maxQuantity": 3
    }
  ]
}
'
{
  "status": 201,
  "success": true,
  "message": "Create a food",
  "data": {
    "_id": "66a2a1c4e1b3a40012cd1001",
    "name": "Margherita Pizza",
    "description": "Tomato, mozzarella, basil",
    "price": 12.5,
    "promoPrice": null,
    "images": [
      "https://cdn.salesive.com/f/margherita.jpg"
    ],
    "video": null,
    "category": "66a2a0aae1b3a40012cd0001",
    "available": true,
    "listed": true,
    "addons": [
      {
        "name": "Extra cheese",
        "price": 2,
        "maxQuantity": 3,
        "available": true,
        "description": ""
      }
    ],
    "shop": "66a1eee0e1b3a40012ab0001",
    "createdAt": "2026-06-28T09:20:00.000Z",
    "updatedAt": "2026-06-28T09:20:00.000Z"
  }
}
Creates a food item (menu item) in the store. The shop is set server-side from the installation and must not be supplied. Requires the WRITE_INVENTORY scope.

Authorizations

Authorization
string
header
required

Installed-app access token (prefix app_), issued by the OAuth install flow. The store is bound to the token server-side — never send a shop id.

Body

application/json
name
string
required

Food name (max 100 chars).

price
number
required

Price (>= 0).

description
string

Food description.

promoPrice
number | null

Promotional price (>= 0); nullable.

images
string[]

Array of image URLs.

video
string | null

Video URL; nullable.

category
string | null

Category ObjectId; nullable.

available
boolean

Whether the item is available to order. Default true.

listed
boolean

Whether the item is listed on the menu. Default true.

addons
object[]

Optional add-ons. Each: name (string, required), price (number, required), maxQuantity (integer, default 10), image (string), available (boolean, default true), description (string).

Response

Create a food — success.

status
integer
required
Example:

201

success
boolean
required
Example:

true

message
string
required
Example:

"Create a food"

data
object
required

A restaurant menu item.

Example:
{
"_id": "66a2a1c4e1b3a40012cd1001",
"name": "Margherita Pizza",
"description": "Tomato, mozzarella, basil",
"price": 12.5,
"promoPrice": null,
"images": ["https://cdn.salesive.com/f/margherita.jpg"],
"video": null,
"category": "66a2a0aae1b3a40012cd0001",
"available": true,
"listed": true,
"addons": [
{
"name": "Extra cheese",
"price": 2,
"maxQuantity": 3,
"available": true,
"description": ""
}
],
"shop": "66a1eee0e1b3a40012ab0001",
"createdAt": "2026-06-28T09:20:00.000Z",
"updatedAt": "2026-06-28T09:20:00.000Z"
}